Inital Commit
This commit is contained in:
parent
68db65b06c
commit
3ad0ec4cbb
|
@ -0,0 +1,3 @@
|
|||
.vs/*
|
||||
GayMaker-PS3/bin/*
|
||||
GayMaker-PS3/obj/*
|
|
@ -0,0 +1,37 @@
|
|||
|
||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio Version 17
|
||||
VisualStudioVersion = 17.8.34330.188
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GayMaker-PS3", "GayMaker-PS3\GayMaker-PS3.csproj", "{A574F9F8-D3B2-4EF6-80DE-5D546C43B57D}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Any CPU = Debug|Any CPU
|
||||
Debug|x64 = Debug|x64
|
||||
Debug|x86 = Debug|x86
|
||||
Release|Any CPU = Release|Any CPU
|
||||
Release|x64 = Release|x64
|
||||
Release|x86 = Release|x86
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{A574F9F8-D3B2-4EF6-80DE-5D546C43B57D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{A574F9F8-D3B2-4EF6-80DE-5D546C43B57D}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{A574F9F8-D3B2-4EF6-80DE-5D546C43B57D}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{A574F9F8-D3B2-4EF6-80DE-5D546C43B57D}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{A574F9F8-D3B2-4EF6-80DE-5D546C43B57D}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{A574F9F8-D3B2-4EF6-80DE-5D546C43B57D}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{A574F9F8-D3B2-4EF6-80DE-5D546C43B57D}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{A574F9F8-D3B2-4EF6-80DE-5D546C43B57D}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{A574F9F8-D3B2-4EF6-80DE-5D546C43B57D}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{A574F9F8-D3B2-4EF6-80DE-5D546C43B57D}.Release|x64.Build.0 = Release|Any CPU
|
||||
{A574F9F8-D3B2-4EF6-80DE-5D546C43B57D}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{A574F9F8-D3B2-4EF6-80DE-5D546C43B57D}.Release|x86.Build.0 = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||
SolutionGuid = {F5C9BDFB-D36B-4937-80EF-77A22E065856}
|
||||
EndGlobalSection
|
||||
EndGlobal
|
File diff suppressed because one or more lines are too long
|
@ -0,0 +1,186 @@
|
|||
using HtmlAgilityPack;
|
||||
using Org.BouncyCastle.Crypto.Digests;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Net;
|
||||
using System.Net.Cache;
|
||||
using System.Text;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace GMTools
|
||||
{
|
||||
class CDNUrls
|
||||
{
|
||||
//GMS14
|
||||
public const String GMS14 = "http://store.yoyogames.com/downloads/gm-studio/update-studio.rss";
|
||||
public const String GMS14EA = "https://pastebin.com/raw/XN4gPX4u";
|
||||
|
||||
//GMS2
|
||||
public const String GMS2 = "http://gms.yoyogames.com/Zeus-Runtime.rss";
|
||||
public const String GMS2Beta = "http://gms.yoyogames.com/Zeus-Runtime-Beta.rss";
|
||||
|
||||
|
||||
public static String FromIndex(int cdnIndex)
|
||||
{
|
||||
switch (cdnIndex)
|
||||
{
|
||||
case 1:
|
||||
return CDNUrls.GMS14;
|
||||
case 2:
|
||||
return CDNUrls.GMS14EA;
|
||||
case 3:
|
||||
return CDNUrls.GMS2;
|
||||
case 4:
|
||||
return CDNUrls.GMS2Beta;
|
||||
}
|
||||
return "NF";
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
class CDN
|
||||
{
|
||||
private static string xmlData = "";
|
||||
|
||||
private static string bypassAuthentication(string url)
|
||||
{
|
||||
if (url.StartsWith("https://updater.yoyogames.com") && !url.Contains("original"))
|
||||
{
|
||||
return "http://updatecdn.yoyogames.com/" + Path.GetFileName(url);
|
||||
}
|
||||
else
|
||||
{
|
||||
return url;
|
||||
}
|
||||
}
|
||||
|
||||
private static string getOriginalUrl(string version)
|
||||
{
|
||||
if (version.StartsWith("1."))
|
||||
{
|
||||
return "https://updater.yoyogames.com/api/download/original?filename=Original-" + version + ".zip";
|
||||
}
|
||||
else if(version.StartsWith("2."))
|
||||
{
|
||||
var doc = new HtmlAgilityPack.HtmlDocument();
|
||||
doc.LoadHtml(xmlData);
|
||||
var versions = doc.DocumentNode.SelectNodes("/rss/channel/item/enclosure");
|
||||
foreach (HtmlNode ver in versions)
|
||||
{
|
||||
string verName = ver.GetAttributeValue("sparkle:version", "0.0.0.0");
|
||||
if (verName == version)
|
||||
{
|
||||
return ver.GetAttributeValue("url", "http://example.com/").ToString();
|
||||
}
|
||||
}
|
||||
}
|
||||
return "NF";
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
public static void UseCDN(String CDN)
|
||||
{
|
||||
try
|
||||
{
|
||||
WebClient wc = new WebClient();
|
||||
wc.CachePolicy = new RequestCachePolicy(RequestCacheLevel.NoCacheNoStore);
|
||||
xmlData = wc.DownloadString(CDN);
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
MessageBox.Show("Could not connect to: " + CDN, "Connection Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public static String GetModuleForVersion(String Version, String Module)
|
||||
{
|
||||
|
||||
Module = Module.ToLower();
|
||||
|
||||
if (Module == "original")
|
||||
return getOriginalUrl(Version);
|
||||
|
||||
var doc = new HtmlAgilityPack.HtmlDocument();
|
||||
doc.LoadHtml(xmlData);
|
||||
var versions = doc.DocumentNode.SelectNodes("/rss/channel/item/enclosure");
|
||||
|
||||
|
||||
foreach (HtmlNode version in versions)
|
||||
{
|
||||
string verName = version.GetAttributeValue("sparkle:version", "0.0.0.0");
|
||||
if (verName == Version)
|
||||
{
|
||||
var modules = version.Elements("module");
|
||||
foreach (var module in modules)
|
||||
{
|
||||
string moduleName = module.GetAttributeValue("name", "Original").ToLower();
|
||||
string moduleUrl = module.GetAttributeValue("url", "http://127.0.0.1");
|
||||
if (moduleName == Module)
|
||||
{
|
||||
return bypassAuthentication(moduleUrl);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
return "NF"; // Not Found
|
||||
}
|
||||
|
||||
|
||||
public static String[] GetVersions(String Filter = "")
|
||||
{
|
||||
var doc = new HtmlAgilityPack.HtmlDocument();
|
||||
doc.LoadHtml(xmlData);
|
||||
var versions = doc.DocumentNode.SelectNodes("/rss/channel/item/enclosure");
|
||||
|
||||
List<string> verList = new List<string>();
|
||||
|
||||
foreach (HtmlNode version in versions)
|
||||
{
|
||||
string versionName = version.GetAttributeValue("sparkle:version", "0.0.0.0");
|
||||
|
||||
if (Filter == "")
|
||||
{
|
||||
verList.Add(versionName);
|
||||
}
|
||||
else
|
||||
{
|
||||
if(GetModuleForVersion(versionName,Filter) != "NF")
|
||||
{
|
||||
verList.Add(versionName);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return verList.ToArray();
|
||||
|
||||
}
|
||||
|
||||
|
||||
public static String GetPassword(String ZipName)
|
||||
{
|
||||
if (ZipName.ToLower().StartsWith("original") || ZipName.ToLower().StartsWith("gmstudio"))
|
||||
{
|
||||
return "12#_p@o3w$ir_ADD-_$#";
|
||||
}
|
||||
MD5Digest md5Digest = new MD5Digest();
|
||||
byte[] array = new byte[16];
|
||||
byte[] bytes = Encoding.UTF8.GetBytes("MRJA" + Path.GetFileName(ZipName) + "PHMD");
|
||||
md5Digest.Reset();
|
||||
md5Digest.BlockUpdate(bytes, 0, bytes.Length);
|
||||
md5Digest.Finish();
|
||||
md5Digest.DoFinal(array, 0);
|
||||
string password = Convert.ToBase64String(array);
|
||||
return password;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
|
@ -0,0 +1,77 @@
|
|||
namespace GayMaker_PS3
|
||||
{
|
||||
partial class DownloadingUpdate
|
||||
{
|
||||
/// <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()
|
||||
{
|
||||
this.DownloadProgress = new System.Windows.Forms.ProgressBar();
|
||||
this.label1 = new System.Windows.Forms.Label();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// DownloadProgress
|
||||
//
|
||||
this.DownloadProgress.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.DownloadProgress.Location = new System.Drawing.Point(15, 44);
|
||||
this.DownloadProgress.Name = "DownloadProgress";
|
||||
this.DownloadProgress.Size = new System.Drawing.Size(419, 23);
|
||||
this.DownloadProgress.TabIndex = 0;
|
||||
//
|
||||
// label1
|
||||
//
|
||||
this.label1.AutoSize = true;
|
||||
this.label1.Location = new System.Drawing.Point(12, 9);
|
||||
this.label1.Name = "label1";
|
||||
this.label1.Size = new System.Drawing.Size(94, 13);
|
||||
this.label1.TabIndex = 1;
|
||||
this.label1.Text = "Starting Download";
|
||||
//
|
||||
// DownloadingUpdate
|
||||
//
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
|
||||
this.ClientSize = new System.Drawing.Size(443, 95);
|
||||
this.ControlBox = false;
|
||||
this.Controls.Add(this.label1);
|
||||
this.Controls.Add(this.DownloadProgress);
|
||||
this.MaximizeBox = false;
|
||||
this.MinimizeBox = false;
|
||||
this.Name = "DownloadingUpdate";
|
||||
this.ShowIcon = false;
|
||||
this.ShowInTaskbar = false;
|
||||
this.Text = "Downloading Update";
|
||||
this.Load += new System.EventHandler(this.DownloadingUpdate_Load);
|
||||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private System.Windows.Forms.ProgressBar DownloadProgress;
|
||||
private System.Windows.Forms.Label label1;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,82 @@
|
|||
using System;
|
||||
using System.ComponentModel;
|
||||
using System.Drawing;
|
||||
using System.IO;
|
||||
using System.IO.Compression;
|
||||
using System.Net;
|
||||
using System.Net.Cache;
|
||||
using System.Reflection;
|
||||
using System.Windows.Forms;
|
||||
|
||||
|
||||
namespace GayMaker_PS3
|
||||
{
|
||||
public partial class DownloadingUpdate : Form
|
||||
{
|
||||
public DownloadingUpdate()
|
||||
{
|
||||
//Bypass Windows DPI Scaling
|
||||
Font = new Font(Font.Name, 8.25f * 96f / CreateGraphics().DpiX, Font.Style, Font.Unit, Font.GdiCharSet, Font.GdiVerticalFont);
|
||||
InitializeComponent();
|
||||
}
|
||||
|
||||
private void startDownload()
|
||||
{
|
||||
WebClient wc = new WebClient();
|
||||
wc.CachePolicy = new RequestCachePolicy(RequestCacheLevel.NoCacheNoStore);
|
||||
String UpdateString = wc.DownloadString("https://bitbucket.org/SilicaAndPina/gaymaker-studio/raw/master/latest.md");
|
||||
String[] Data = UpdateString.Split('~');
|
||||
String UpdateUrl = Data[1];
|
||||
wc.Dispose();
|
||||
|
||||
WebClient client = new WebClient();
|
||||
client.Headers.Add("pragma", "no-cache");
|
||||
|
||||
client.DownloadProgressChanged += new DownloadProgressChangedEventHandler(client_DownloadProgressChanged);
|
||||
client.DownloadFileCompleted += new AsyncCompletedEventHandler(client_DownloadFileCompleted);
|
||||
client.DownloadFileAsync(new Uri(UpdateUrl), "upgrade.zip");
|
||||
}
|
||||
|
||||
private void client_DownloadFileCompleted(object sender, AsyncCompletedEventArgs e)
|
||||
{
|
||||
|
||||
label1.Text = "Extracting...";
|
||||
Application.DoEvents();
|
||||
|
||||
String EXEPath = Assembly.GetExecutingAssembly().Location;
|
||||
|
||||
File.Move(EXEPath, Path.ChangeExtension(EXEPath, ".old"));
|
||||
|
||||
ZipArchive archive = new ZipArchive(File.OpenRead("upgrade.zip"));
|
||||
|
||||
foreach (ZipArchiveEntry file in archive.Entries)
|
||||
{
|
||||
if (File.Exists(file.FullName))
|
||||
{
|
||||
File.Delete(file.FullName);
|
||||
}
|
||||
}
|
||||
|
||||
archive.Dispose();
|
||||
|
||||
ZipFile.ExtractToDirectory("upgrade.zip", Path.GetDirectoryName(EXEPath));
|
||||
|
||||
File.Delete("upgrade.zip");
|
||||
|
||||
Application.Restart();
|
||||
|
||||
}
|
||||
|
||||
private void client_DownloadProgressChanged(object sender, DownloadProgressChangedEventArgs e)
|
||||
{
|
||||
DownloadProgress.Value = e.ProgressPercentage;
|
||||
label1.Text = "Downloading: " + e.ProgressPercentage + "%";
|
||||
}
|
||||
|
||||
|
||||
private void DownloadingUpdate_Load(object sender, EventArgs e)
|
||||
{
|
||||
startDownload();
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,120 @@
|
|||
<?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.Runtime.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:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<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" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</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" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</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=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
</root>
|
|
@ -0,0 +1,66 @@
|
|||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
namespace GayMaker_PS3
|
||||
{
|
||||
|
||||
class GMAC
|
||||
{
|
||||
public enum FileMapProtection : uint
|
||||
{
|
||||
PageReadonly = 0x02,
|
||||
PageReadWrite = 0x04,
|
||||
PageWriteCopy = 0x08,
|
||||
PageExecuteRead = 0x20,
|
||||
PageExecuteReadWrite = 0x40,
|
||||
SectionCommit = 0x8000000,
|
||||
SectionImage = 0x1000000,
|
||||
SectionNoCache = 0x10000000,
|
||||
SectionReserve = 0x4000000,
|
||||
}
|
||||
|
||||
public enum FileMapAccess : uint
|
||||
{
|
||||
FileMapCopy = 0x0001,
|
||||
FileMapWrite = 0x0002,
|
||||
FileMapRead = 0x0004,
|
||||
FileMapReadWrite = 0x0006,
|
||||
FileMapAllAccess = 0x001f,
|
||||
FileMapExecute = 0x0020,
|
||||
}
|
||||
|
||||
[DllImport("kernel32.dll", SetLastError = true, CharSet = CharSet.Auto)]
|
||||
public static extern IntPtr CreateFileMapping(
|
||||
IntPtr hFile,
|
||||
IntPtr lpFileMappingAttributes,
|
||||
FileMapProtection flProtect,
|
||||
uint dwMaximumSizeHigh,
|
||||
uint dwMaximumSizeLow,
|
||||
string lpName
|
||||
);
|
||||
|
||||
[DllImport("kernel32", SetLastError = true)]
|
||||
public static extern IntPtr MapViewOfFile(IntPtr intptr_0, FileMapAccess dwDesiredAccess, int int_5, int int_6, IntPtr intptr_1);
|
||||
|
||||
[DllImport("kernel32", CharSet = CharSet.Auto, SetLastError = true)]
|
||||
public static extern IntPtr OpenFileMapping(
|
||||
FileMapAccess dwDesiredAccess,
|
||||
bool bInheritHandle,
|
||||
string lpName
|
||||
);
|
||||
|
||||
[DllImport("kernel32", SetLastError = true)]
|
||||
public static extern bool CloseHandle(IntPtr intptr_0);
|
||||
|
||||
public static void GetPermissionToExecute()
|
||||
{
|
||||
IntPtr Create = CreateFileMapping(new IntPtr(-1), IntPtr.Zero, FileMapProtection.PageReadWrite, 0x0, 0x1000, "YYMappingFileTestYY");
|
||||
IntPtr DaFile = OpenFileMapping(FileMapAccess.FileMapWrite, false, "YYMappingFileTestYY");
|
||||
IntPtr MapView = MapViewOfFile(DaFile, FileMapAccess.FileMapWrite, 0, 0, new IntPtr(4));
|
||||
|
||||
Marshal.WriteInt32(MapView, (int)(DateTime.Now - new DateTime(1970, 1, 1, 0, 0, 0)).TotalSeconds);
|
||||
|
||||
CloseHandle(DaFile);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,178 @@
|
|||
namespace GayMaker_PS3
|
||||
{
|
||||
partial class GameSettings
|
||||
{
|
||||
/// <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(GameSettings));
|
||||
this.label1 = new System.Windows.Forms.Label();
|
||||
this.panel1 = new System.Windows.Forms.Panel();
|
||||
this.TexturePageSize = new System.Windows.Forms.ComboBox();
|
||||
this.label3 = new System.Windows.Forms.Label();
|
||||
this.Interporlate = new System.Windows.Forms.CheckBox();
|
||||
this.FullScale = new System.Windows.Forms.RadioButton();
|
||||
this.KeepAspect = new System.Windows.Forms.RadioButton();
|
||||
this.label2 = new System.Windows.Forms.Label();
|
||||
this.Save = new System.Windows.Forms.Button();
|
||||
this.panel1.SuspendLayout();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// label1
|
||||
//
|
||||
this.label1.AutoSize = true;
|
||||
this.label1.Location = new System.Drawing.Point(12, 9);
|
||||
this.label1.Name = "label1";
|
||||
this.label1.Size = new System.Drawing.Size(112, 13);
|
||||
this.label1.TabIndex = 0;
|
||||
this.label1.Text = "Global Game Settings:";
|
||||
//
|
||||
// panel1
|
||||
//
|
||||
this.panel1.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
|
||||
this.panel1.Controls.Add(this.TexturePageSize);
|
||||
this.panel1.Controls.Add(this.label3);
|
||||
this.panel1.Controls.Add(this.Interporlate);
|
||||
this.panel1.Controls.Add(this.FullScale);
|
||||
this.panel1.Controls.Add(this.KeepAspect);
|
||||
this.panel1.Controls.Add(this.label2);
|
||||
this.panel1.Location = new System.Drawing.Point(12, 25);
|
||||
this.panel1.Name = "panel1";
|
||||
this.panel1.Size = new System.Drawing.Size(238, 150);
|
||||
this.panel1.TabIndex = 1;
|
||||
//
|
||||
// TexturePageSize
|
||||
//
|
||||
this.TexturePageSize.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
||||
this.TexturePageSize.FormattingEnabled = true;
|
||||
this.TexturePageSize.Items.AddRange(new object[] {
|
||||
"256",
|
||||
"512",
|
||||
"1024",
|
||||
"2048",
|
||||
"4096",
|
||||
"8192",
|
||||
"16384"});
|
||||
this.TexturePageSize.Location = new System.Drawing.Point(6, 51);
|
||||
this.TexturePageSize.Name = "TexturePageSize";
|
||||
this.TexturePageSize.Size = new System.Drawing.Size(94, 21);
|
||||
this.TexturePageSize.TabIndex = 6;
|
||||
//
|
||||
// label3
|
||||
//
|
||||
this.label3.AutoSize = true;
|
||||
this.label3.Location = new System.Drawing.Point(3, 35);
|
||||
this.label3.Name = "label3";
|
||||
this.label3.Size = new System.Drawing.Size(97, 13);
|
||||
this.label3.TabIndex = 5;
|
||||
this.label3.Text = "Texture Page Size:";
|
||||
//
|
||||
// Interporlate
|
||||
//
|
||||
this.Interporlate.AutoSize = true;
|
||||
this.Interporlate.Location = new System.Drawing.Point(3, 15);
|
||||
this.Interporlate.Name = "Interporlate";
|
||||
this.Interporlate.Size = new System.Drawing.Size(183, 17);
|
||||
this.Interporlate.TabIndex = 3;
|
||||
this.Interporlate.Text = "Interporlate colors between pixels";
|
||||
this.Interporlate.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// FullScale
|
||||
//
|
||||
this.FullScale.AutoSize = true;
|
||||
this.FullScale.Location = new System.Drawing.Point(3, 120);
|
||||
this.FullScale.Name = "FullScale";
|
||||
this.FullScale.Size = new System.Drawing.Size(71, 17);
|
||||
this.FullScale.TabIndex = 2;
|
||||
this.FullScale.TabStop = true;
|
||||
this.FullScale.Text = "Full Scale";
|
||||
this.FullScale.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// KeepAspect
|
||||
//
|
||||
this.KeepAspect.AutoSize = true;
|
||||
this.KeepAspect.Location = new System.Drawing.Point(3, 97);
|
||||
this.KeepAspect.Name = "KeepAspect";
|
||||
this.KeepAspect.Size = new System.Drawing.Size(114, 17);
|
||||
this.KeepAspect.TabIndex = 1;
|
||||
this.KeepAspect.TabStop = true;
|
||||
this.KeepAspect.Text = "Keep Aspect Ratio";
|
||||
this.KeepAspect.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// label2
|
||||
//
|
||||
this.label2.AutoSize = true;
|
||||
this.label2.Location = new System.Drawing.Point(3, 81);
|
||||
this.label2.Name = "label2";
|
||||
this.label2.Size = new System.Drawing.Size(84, 13);
|
||||
this.label2.TabIndex = 0;
|
||||
this.label2.Text = "Scaling Options:";
|
||||
//
|
||||
// Save
|
||||
//
|
||||
this.Save.Location = new System.Drawing.Point(12, 181);
|
||||
this.Save.Name = "Save";
|
||||
this.Save.Size = new System.Drawing.Size(238, 23);
|
||||
this.Save.TabIndex = 2;
|
||||
this.Save.Text = "Save Changes";
|
||||
this.Save.UseVisualStyleBackColor = true;
|
||||
this.Save.Click += new System.EventHandler(this.Save_Click);
|
||||
//
|
||||
// GameSettings
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.ClientSize = new System.Drawing.Size(262, 209);
|
||||
this.Controls.Add(this.Save);
|
||||
this.Controls.Add(this.panel1);
|
||||
this.Controls.Add(this.label1);
|
||||
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
|
||||
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
|
||||
this.MaximizeBox = false;
|
||||
this.Name = "GameSettings";
|
||||
this.Text = "Global Game Settings";
|
||||
this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.GameSettings_FormClosing);
|
||||
this.Load += new System.EventHandler(this.GameSettings_Load);
|
||||
this.panel1.ResumeLayout(false);
|
||||
this.panel1.PerformLayout();
|
||||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private System.Windows.Forms.Label label1;
|
||||
private System.Windows.Forms.Panel panel1;
|
||||
private System.Windows.Forms.ComboBox TexturePageSize;
|
||||
private System.Windows.Forms.Label label3;
|
||||
private System.Windows.Forms.CheckBox Interporlate;
|
||||
private System.Windows.Forms.RadioButton FullScale;
|
||||
private System.Windows.Forms.RadioButton KeepAspect;
|
||||
private System.Windows.Forms.Label label2;
|
||||
private System.Windows.Forms.Button Save;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,125 @@
|
|||
using System;
|
||||
using System.Drawing;
|
||||
using System.IO;
|
||||
using System.Windows.Forms;
|
||||
using System.Xml;
|
||||
|
||||
namespace GayMaker_PS3
|
||||
{
|
||||
public partial class GameSettings : Form
|
||||
{
|
||||
|
||||
String ProjectPath;
|
||||
XmlDocument DefaultConfig = new XmlDocument();
|
||||
|
||||
public GameSettings()
|
||||
{
|
||||
//Bypass Windows DPI Scaling
|
||||
Font = new Font(Font.Name, 8.25f * 96f / CreateGraphics().DpiX, Font.Style, Font.Unit, Font.GdiCharSet, Font.GdiVerticalFont);
|
||||
InitializeComponent();
|
||||
}
|
||||
|
||||
private void GameSettings_Load(object sender, EventArgs e)
|
||||
{
|
||||
Program.GMS.Enabled = false;
|
||||
|
||||
ProjectPath = Path.GetDirectoryName(Program.GMS.GetProjectPath());
|
||||
Console.WriteLine(ProjectPath);
|
||||
DefaultConfig.Load(ProjectPath + "\\Configs\\Default.config.gmx");
|
||||
|
||||
XmlNode TP = DefaultConfig.GetElementsByTagName("option_ps3_texture_page")[0];
|
||||
XmlNode IT = DefaultConfig.GetElementsByTagName("option_ps3_interpolate")[0];
|
||||
XmlNode SC = DefaultConfig.GetElementsByTagName("option_ps3_scale")[0];
|
||||
|
||||
|
||||
try
|
||||
{
|
||||
//If global game settings was never opened then its true/false for some reason
|
||||
Interporlate.Checked = bool.Parse(IT.InnerText);
|
||||
|
||||
}
|
||||
catch
|
||||
{
|
||||
//Otherwise its -1 / 0 (GM IS WEIRD)
|
||||
|
||||
if (int.Parse(IT.InnerText) == 0)
|
||||
{
|
||||
Interporlate.Checked = false;
|
||||
}
|
||||
else
|
||||
{
|
||||
Interporlate.Checked = true;
|
||||
}
|
||||
|
||||
if (int.Parse(SC.InnerText) == 0)
|
||||
{
|
||||
FullScale.Checked = true;
|
||||
KeepAspect.Checked = false;
|
||||
}
|
||||
else
|
||||
{
|
||||
FullScale.Checked = false;
|
||||
KeepAspect.Checked = true;
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
|
||||
TexturePageSize.Text = int.Parse(TP.InnerText).ToString();
|
||||
|
||||
}
|
||||
|
||||
private void Save_Click(object sender, EventArgs e)
|
||||
{
|
||||
try
|
||||
{
|
||||
if (Interporlate.Checked)
|
||||
{
|
||||
XmlNode IT = DefaultConfig.GetElementsByTagName("option_ps3_interpolate")[0];
|
||||
IT.InnerText = "-1";
|
||||
}
|
||||
else
|
||||
{
|
||||
XmlNode IT = DefaultConfig.GetElementsByTagName("option_ps3_interpolate")[0];
|
||||
IT.InnerText = "0";
|
||||
}
|
||||
|
||||
if (KeepAspect.Checked)
|
||||
{
|
||||
XmlNode SC = DefaultConfig.GetElementsByTagName("option_ps3_scale")[0];
|
||||
SC.InnerText = "-1";
|
||||
}
|
||||
else
|
||||
{
|
||||
XmlNode SC = DefaultConfig.GetElementsByTagName("option_ps3_scale")[0];
|
||||
SC.InnerText = "0";
|
||||
}
|
||||
|
||||
XmlNode TP = DefaultConfig.GetElementsByTagName("option_ps3_texture_page")[0];
|
||||
TP.InnerText = TexturePageSize.Text;
|
||||
|
||||
XmlWriterSettings settings = new XmlWriterSettings { Indent = true, OmitXmlDeclaration = true };
|
||||
XmlWriter writer = XmlWriter.Create(ProjectPath + "\\Configs\\Default.config.gmx", settings);
|
||||
DefaultConfig.Save(writer);
|
||||
writer.Close();
|
||||
|
||||
}
|
||||
|
||||
catch (Exception)
|
||||
{
|
||||
MessageBox.Show("There was an error while saving settings!", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
||||
}
|
||||
|
||||
|
||||
Program.GMS.Enabled = true;
|
||||
|
||||
Close();
|
||||
|
||||
}
|
||||
|
||||
private void GameSettings_FormClosing(object sender, FormClosingEventArgs e)
|
||||
{
|
||||
Program.GMS.Enabled = true;
|
||||
}
|
||||
}
|
||||
}
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,145 @@
|
|||
<?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>{A574F9F8-D3B2-4EF6-80DE-5D546C43B57D}</ProjectGuid>
|
||||
<OutputType>WinExe</OutputType>
|
||||
<RootNamespace>GayMaker_PS3</RootNamespace>
|
||||
<AssemblyName>GayMaker-PS3</AssemblyName>
|
||||
<TargetFrameworkVersion>v4.8</TargetFrameworkVersion>
|
||||
<FileAlignment>512</FileAlignment>
|
||||
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
|
||||
<Deterministic>true</Deterministic>
|
||||
<TargetFrameworkProfile />
|
||||
</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>
|
||||
<ApplicationManifest>app.manifest</ApplicationManifest>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<ApplicationIcon>icon0.ico</ApplicationIcon>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<StartupObject />
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="BouncyCastle.Crypto, Version=1.8.4.0, Culture=neutral, PublicKeyToken=0e99375e54769942">
|
||||
<HintPath>..\packages\BouncyCastle.1.8.4\lib\BouncyCastle.Crypto.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="DotNetZip, Version=1.13.3.0, Culture=neutral, PublicKeyToken=6583c7c814667745, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\DotNetZip.1.13.3\lib\net40\DotNetZip.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="HtmlAgilityPack, Version=1.9.2.0, Culture=neutral, PublicKeyToken=bd319b19eaf3b43a, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\HtmlAgilityPack.1.9.2\lib\Net45\HtmlAgilityPack.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Core" />
|
||||
<Reference Include="System.IO.Compression" />
|
||||
<Reference Include="System.IO.Compression.FileSystem" />
|
||||
<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="CDN.cs" />
|
||||
<Compile Include="DownloadingUpdate.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="DownloadingUpdate.Designer.cs">
|
||||
<DependentUpon>DownloadingUpdate.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="P3Tools.cs" />
|
||||
<Compile Include="GameSettings.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="GameSettings.Designer.cs">
|
||||
<DependentUpon>GameSettings.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="GayMakerPS3.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="GayMakerPS3.Designer.cs">
|
||||
<DependentUpon>GayMakerPS3.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="GMAC.cs" />
|
||||
<Compile Include="LiLib\MathUtil.cs" />
|
||||
<Compile Include="LiLib\StreamUtil.cs" />
|
||||
<Compile Include="Program.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
<Compile Include="Sfo.cs" />
|
||||
<Compile Include="VersionManager.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="VersionManager.Designer.cs">
|
||||
<DependentUpon>VersionManager.cs</DependentUpon>
|
||||
</Compile>
|
||||
<EmbeddedResource Include="DownloadingUpdate.resx">
|
||||
<DependentUpon>DownloadingUpdate.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="GameSettings.resx">
|
||||
<DependentUpon>GameSettings.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="GayMakerPS3.resx">
|
||||
<DependentUpon>GayMakerPS3.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>
|
||||
<DesignTime>True</DesignTime>
|
||||
</Compile>
|
||||
<EmbeddedResource Include="VersionManager.resx">
|
||||
<DependentUpon>VersionManager.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<None Include="app.config" />
|
||||
<None Include="app.manifest" />
|
||||
<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>
|
||||
<Content Include="icon0.ico" />
|
||||
<None Include="Resources\PIC1.PNG" />
|
||||
<None Include="Resources\folderIcon.png" />
|
||||
<None Include="Resources\ps3Logo.png" />
|
||||
<None Include="Resources\gameIcon.png" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
</Project>
|
|
@ -0,0 +1,501 @@
|
|||
namespace GayMaker_PS3
|
||||
{
|
||||
partial class GayMakerPS3
|
||||
{
|
||||
/// <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(GayMakerPS3));
|
||||
this.xmbScreen = new System.Windows.Forms.RadioButton();
|
||||
this.label1 = new System.Windows.Forms.Label();
|
||||
this.GameSettings = new System.Windows.Forms.Panel();
|
||||
this.label8 = new System.Windows.Forms.Label();
|
||||
this.VersionSelect = new System.Windows.Forms.ComboBox();
|
||||
this.pictureBox1 = new System.Windows.Forms.PictureBox();
|
||||
this.GlobalGameSettings = new System.Windows.Forms.Label();
|
||||
this.label7 = new System.Windows.Forms.Label();
|
||||
this.titleName = new System.Windows.Forms.TextBox();
|
||||
this.label6 = new System.Windows.Forms.Label();
|
||||
this.titleID = new System.Windows.Forms.TextBox();
|
||||
this.label5 = new System.Windows.Forms.Label();
|
||||
this.contentID = new System.Windows.Forms.TextBox();
|
||||
this.browsePic = new System.Windows.Forms.Button();
|
||||
this.picPath = new System.Windows.Forms.TextBox();
|
||||
this.label4 = new System.Windows.Forms.Label();
|
||||
this.browseIcon = new System.Windows.Forms.Button();
|
||||
this.iconPath = new System.Windows.Forms.TextBox();
|
||||
this.label3 = new System.Windows.Forms.Label();
|
||||
this.browseProject = new System.Windows.Forms.Button();
|
||||
this.projectPath = new System.Windows.Forms.TextBox();
|
||||
this.label2 = new System.Windows.Forms.Label();
|
||||
this.CreatePKG = new System.Windows.Forms.Button();
|
||||
this.panel1 = new System.Windows.Forms.Panel();
|
||||
this.GmacOut = new System.Windows.Forms.TextBox();
|
||||
this.xmbPreview = new System.Windows.Forms.Panel();
|
||||
this.ps3Icon = new System.Windows.Forms.PictureBox();
|
||||
this.gameIcon = new System.Windows.Forms.PictureBox();
|
||||
this.IconPreview2 = new System.Windows.Forms.PictureBox();
|
||||
this.IconPreview = new System.Windows.Forms.PictureBox();
|
||||
this.Title = new System.Windows.Forms.Label();
|
||||
this.folderIcon = new System.Windows.Forms.PictureBox();
|
||||
this.Logo = new System.Windows.Forms.PictureBox();
|
||||
this.GameSettings.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit();
|
||||
this.panel1.SuspendLayout();
|
||||
this.xmbPreview.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.ps3Icon)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.gameIcon)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.IconPreview2)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.IconPreview)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.folderIcon)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.Logo)).BeginInit();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// xmbScreen
|
||||
//
|
||||
this.xmbScreen.AutoSize = true;
|
||||
this.xmbScreen.Location = new System.Drawing.Point(69, 4);
|
||||
this.xmbScreen.Name = "xmbScreen";
|
||||
this.xmbScreen.Size = new System.Drawing.Size(48, 17);
|
||||
this.xmbScreen.TabIndex = 0;
|
||||
this.xmbScreen.TabStop = true;
|
||||
this.xmbScreen.Text = "XMB";
|
||||
this.xmbScreen.UseVisualStyleBackColor = true;
|
||||
this.xmbScreen.CheckedChanged += new System.EventHandler(this.homeScreen_CheckedChanged);
|
||||
//
|
||||
// label1
|
||||
//
|
||||
this.label1.AutoSize = true;
|
||||
this.label1.Location = new System.Drawing.Point(12, 4);
|
||||
this.label1.Name = "label1";
|
||||
this.label1.Size = new System.Drawing.Size(48, 13);
|
||||
this.label1.TabIndex = 6;
|
||||
this.label1.Text = "Preview:";
|
||||
//
|
||||
// GameSettings
|
||||
//
|
||||
this.GameSettings.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
|
||||
this.GameSettings.Controls.Add(this.label8);
|
||||
this.GameSettings.Controls.Add(this.VersionSelect);
|
||||
this.GameSettings.Controls.Add(this.pictureBox1);
|
||||
this.GameSettings.Controls.Add(this.GlobalGameSettings);
|
||||
this.GameSettings.Controls.Add(this.label7);
|
||||
this.GameSettings.Controls.Add(this.titleName);
|
||||
this.GameSettings.Controls.Add(this.label6);
|
||||
this.GameSettings.Controls.Add(this.titleID);
|
||||
this.GameSettings.Controls.Add(this.label5);
|
||||
this.GameSettings.Controls.Add(this.contentID);
|
||||
this.GameSettings.Controls.Add(this.browsePic);
|
||||
this.GameSettings.Controls.Add(this.picPath);
|
||||
this.GameSettings.Controls.Add(this.label4);
|
||||
this.GameSettings.Controls.Add(this.browseIcon);
|
||||
this.GameSettings.Controls.Add(this.iconPath);
|
||||
this.GameSettings.Controls.Add(this.label3);
|
||||
this.GameSettings.Controls.Add(this.browseProject);
|
||||
this.GameSettings.Controls.Add(this.projectPath);
|
||||
this.GameSettings.Controls.Add(this.label2);
|
||||
this.GameSettings.Location = new System.Drawing.Point(968, 25);
|
||||
this.GameSettings.Name = "GameSettings";
|
||||
this.GameSettings.Size = new System.Drawing.Size(368, 301);
|
||||
this.GameSettings.TabIndex = 7;
|
||||
//
|
||||
// label8
|
||||
//
|
||||
this.label8.AutoSize = true;
|
||||
this.label8.Location = new System.Drawing.Point(182, 276);
|
||||
this.label8.Name = "label8";
|
||||
this.label8.Size = new System.Drawing.Size(65, 13);
|
||||
this.label8.TabIndex = 18;
|
||||
this.label8.Text = "GM Version:";
|
||||
//
|
||||
// VersionSelect
|
||||
//
|
||||
this.VersionSelect.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
||||
this.VersionSelect.FormattingEnabled = true;
|
||||
this.VersionSelect.Items.AddRange(new object[] {
|
||||
"1.4.9999"});
|
||||
this.VersionSelect.Location = new System.Drawing.Point(253, 270);
|
||||
this.VersionSelect.Name = "VersionSelect";
|
||||
this.VersionSelect.Size = new System.Drawing.Size(103, 21);
|
||||
this.VersionSelect.TabIndex = 17;
|
||||
this.VersionSelect.SelectedIndexChanged += new System.EventHandler(this.VersionSelect_SelectedIndexChanged);
|
||||
//
|
||||
// pictureBox1
|
||||
//
|
||||
this.pictureBox1.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("pictureBox1.BackgroundImage")));
|
||||
this.pictureBox1.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom;
|
||||
this.pictureBox1.Location = new System.Drawing.Point(6, 272);
|
||||
this.pictureBox1.Name = "pictureBox1";
|
||||
this.pictureBox1.Size = new System.Drawing.Size(17, 18);
|
||||
this.pictureBox1.TabIndex = 16;
|
||||
this.pictureBox1.TabStop = false;
|
||||
//
|
||||
// GlobalGameSettings
|
||||
//
|
||||
this.GlobalGameSettings.AutoSize = true;
|
||||
this.GlobalGameSettings.Enabled = false;
|
||||
this.GlobalGameSettings.Location = new System.Drawing.Point(29, 276);
|
||||
this.GlobalGameSettings.Name = "GlobalGameSettings";
|
||||
this.GlobalGameSettings.Size = new System.Drawing.Size(109, 13);
|
||||
this.GlobalGameSettings.TabIndex = 15;
|
||||
this.GlobalGameSettings.Text = "Global Game Settings";
|
||||
this.GlobalGameSettings.DoubleClick += new System.EventHandler(this.GlobalGameSettings_DoubleClick);
|
||||
this.GlobalGameSettings.MouseEnter += new System.EventHandler(this.GlobalGameSettings_MouseEnter);
|
||||
this.GlobalGameSettings.MouseLeave += new System.EventHandler(this.GlobalGameSettings_MouseLeave);
|
||||
//
|
||||
// label7
|
||||
//
|
||||
this.label7.AutoSize = true;
|
||||
this.label7.Location = new System.Drawing.Point(3, 170);
|
||||
this.label7.Name = "label7";
|
||||
this.label7.Size = new System.Drawing.Size(30, 13);
|
||||
this.label7.TabIndex = 14;
|
||||
this.label7.Text = "Title:";
|
||||
//
|
||||
// titleName
|
||||
//
|
||||
this.titleName.Location = new System.Drawing.Point(6, 186);
|
||||
this.titleName.MaxLength = 40;
|
||||
this.titleName.Multiline = true;
|
||||
this.titleName.Name = "titleName";
|
||||
this.titleName.Size = new System.Drawing.Size(355, 78);
|
||||
this.titleName.TabIndex = 13;
|
||||
this.titleName.Text = "GameMaker: Studio";
|
||||
this.titleName.TextChanged += new System.EventHandler(this.titleName_TextChanged);
|
||||
//
|
||||
// label6
|
||||
//
|
||||
this.label6.AutoSize = true;
|
||||
this.label6.Location = new System.Drawing.Point(262, 134);
|
||||
this.label6.Name = "label6";
|
||||
this.label6.Size = new System.Drawing.Size(44, 13);
|
||||
this.label6.TabIndex = 12;
|
||||
this.label6.Text = "Title ID:";
|
||||
//
|
||||
// titleID
|
||||
//
|
||||
this.titleID.Location = new System.Drawing.Point(262, 147);
|
||||
this.titleID.Name = "titleID";
|
||||
this.titleID.ReadOnly = true;
|
||||
this.titleID.Size = new System.Drawing.Size(100, 20);
|
||||
this.titleID.TabIndex = 11;
|
||||
this.titleID.Text = "NPXS00020";
|
||||
//
|
||||
// label5
|
||||
//
|
||||
this.label5.AutoSize = true;
|
||||
this.label5.Location = new System.Drawing.Point(3, 131);
|
||||
this.label5.Name = "label5";
|
||||
this.label5.Size = new System.Drawing.Size(61, 13);
|
||||
this.label5.TabIndex = 10;
|
||||
this.label5.Text = "Content ID:";
|
||||
//
|
||||
// contentID
|
||||
//
|
||||
this.contentID.Location = new System.Drawing.Point(3, 147);
|
||||
this.contentID.MaxLength = 36;
|
||||
this.contentID.Name = "contentID";
|
||||
this.contentID.Size = new System.Drawing.Size(253, 20);
|
||||
this.contentID.TabIndex = 9;
|
||||
this.contentID.Text = "IV0000-NPXS00020_00-GAMEMAKERSTUDIO0";
|
||||
this.contentID.TextChanged += new System.EventHandler(this.contentID_TextChanged);
|
||||
//
|
||||
// browsePic
|
||||
//
|
||||
this.browsePic.Location = new System.Drawing.Point(280, 108);
|
||||
this.browsePic.Name = "browsePic";
|
||||
this.browsePic.Size = new System.Drawing.Size(75, 23);
|
||||
this.browsePic.TabIndex = 8;
|
||||
this.browsePic.Text = "Browse";
|
||||
this.browsePic.UseVisualStyleBackColor = true;
|
||||
this.browsePic.Click += new System.EventHandler(this.browsePic_Click);
|
||||
//
|
||||
// picPath
|
||||
//
|
||||
this.picPath.Location = new System.Drawing.Point(6, 108);
|
||||
this.picPath.Name = "picPath";
|
||||
this.picPath.ReadOnly = true;
|
||||
this.picPath.Size = new System.Drawing.Size(268, 20);
|
||||
this.picPath.TabIndex = 7;
|
||||
this.picPath.Text = "img\\pic1.png";
|
||||
//
|
||||
// label4
|
||||
//
|
||||
this.label4.AutoSize = true;
|
||||
this.label4.Location = new System.Drawing.Point(3, 92);
|
||||
this.label4.Name = "label4";
|
||||
this.label4.Size = new System.Drawing.Size(147, 13);
|
||||
this.label4.TabIndex = 6;
|
||||
this.label4.Text = "PIC1.PNG (PNG 1920x1080):";
|
||||
//
|
||||
// browseIcon
|
||||
//
|
||||
this.browseIcon.Location = new System.Drawing.Point(280, 66);
|
||||
this.browseIcon.Name = "browseIcon";
|
||||
this.browseIcon.Size = new System.Drawing.Size(75, 23);
|
||||
this.browseIcon.TabIndex = 5;
|
||||
this.browseIcon.Text = "Browse";
|
||||
this.browseIcon.UseVisualStyleBackColor = true;
|
||||
this.browseIcon.Click += new System.EventHandler(this.browseIcon_Click);
|
||||
//
|
||||
// iconPath
|
||||
//
|
||||
this.iconPath.Location = new System.Drawing.Point(6, 69);
|
||||
this.iconPath.Name = "iconPath";
|
||||
this.iconPath.ReadOnly = true;
|
||||
this.iconPath.Size = new System.Drawing.Size(268, 20);
|
||||
this.iconPath.TabIndex = 4;
|
||||
this.iconPath.Text = "img\\icon0.png";
|
||||
//
|
||||
// label3
|
||||
//
|
||||
this.label3.AutoSize = true;
|
||||
this.label3.Location = new System.Drawing.Point(3, 53);
|
||||
this.label3.Name = "label3";
|
||||
this.label3.Size = new System.Drawing.Size(144, 13);
|
||||
this.label3.TabIndex = 3;
|
||||
this.label3.Text = "ICON0.PNG (PNG 320x176):";
|
||||
//
|
||||
// browseProject
|
||||
//
|
||||
this.browseProject.Location = new System.Drawing.Point(280, 28);
|
||||
this.browseProject.Name = "browseProject";
|
||||
this.browseProject.Size = new System.Drawing.Size(75, 23);
|
||||
this.browseProject.TabIndex = 2;
|
||||
this.browseProject.Text = "Browse";
|
||||
this.browseProject.UseVisualStyleBackColor = true;
|
||||
this.browseProject.Click += new System.EventHandler(this.browseProject_Click);
|
||||
//
|
||||
// projectPath
|
||||
//
|
||||
this.projectPath.Location = new System.Drawing.Point(6, 30);
|
||||
this.projectPath.Name = "projectPath";
|
||||
this.projectPath.ReadOnly = true;
|
||||
this.projectPath.Size = new System.Drawing.Size(268, 20);
|
||||
this.projectPath.TabIndex = 1;
|
||||
this.projectPath.Text = "(none)";
|
||||
//
|
||||
// label2
|
||||
//
|
||||
this.label2.AutoSize = true;
|
||||
this.label2.Location = new System.Drawing.Point(3, 14);
|
||||
this.label2.Name = "label2";
|
||||
this.label2.Size = new System.Drawing.Size(93, 13);
|
||||
this.label2.TabIndex = 0;
|
||||
this.label2.Text = "Project File (.gmx):";
|
||||
//
|
||||
// CreatePKG
|
||||
//
|
||||
this.CreatePKG.Enabled = false;
|
||||
this.CreatePKG.Location = new System.Drawing.Point(1022, 544);
|
||||
this.CreatePKG.Name = "CreatePKG";
|
||||
this.CreatePKG.Size = new System.Drawing.Size(257, 23);
|
||||
this.CreatePKG.TabIndex = 9;
|
||||
this.CreatePKG.Text = "Make PKG";
|
||||
this.CreatePKG.UseVisualStyleBackColor = true;
|
||||
this.CreatePKG.Click += new System.EventHandler(this.CreatePKG_Click);
|
||||
//
|
||||
// panel1
|
||||
//
|
||||
this.panel1.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
|
||||
this.panel1.Controls.Add(this.GmacOut);
|
||||
this.panel1.Location = new System.Drawing.Point(3, 573);
|
||||
this.panel1.Name = "panel1";
|
||||
this.panel1.Size = new System.Drawing.Size(1333, 107);
|
||||
this.panel1.TabIndex = 10;
|
||||
//
|
||||
// GmacOut
|
||||
//
|
||||
this.GmacOut.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.GmacOut.Location = new System.Drawing.Point(0, 0);
|
||||
this.GmacOut.Multiline = true;
|
||||
this.GmacOut.Name = "GmacOut";
|
||||
this.GmacOut.ReadOnly = true;
|
||||
this.GmacOut.ScrollBars = System.Windows.Forms.ScrollBars.Vertical;
|
||||
this.GmacOut.Size = new System.Drawing.Size(1329, 103);
|
||||
this.GmacOut.TabIndex = 0;
|
||||
//
|
||||
// xmbPreview
|
||||
//
|
||||
this.xmbPreview.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("xmbPreview.BackgroundImage")));
|
||||
this.xmbPreview.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch;
|
||||
this.xmbPreview.Controls.Add(this.ps3Icon);
|
||||
this.xmbPreview.Controls.Add(this.gameIcon);
|
||||
this.xmbPreview.Controls.Add(this.IconPreview2);
|
||||
this.xmbPreview.Controls.Add(this.IconPreview);
|
||||
this.xmbPreview.Controls.Add(this.Title);
|
||||
this.xmbPreview.Controls.Add(this.folderIcon);
|
||||
this.xmbPreview.Location = new System.Drawing.Point(15, 20);
|
||||
this.xmbPreview.Name = "xmbPreview";
|
||||
this.xmbPreview.Size = new System.Drawing.Size(960, 544);
|
||||
this.xmbPreview.TabIndex = 6;
|
||||
//
|
||||
// ps3Icon
|
||||
//
|
||||
this.ps3Icon.BackColor = System.Drawing.Color.Transparent;
|
||||
this.ps3Icon.Image = global::GayMaker_PS3.Properties.Resources.ps3Logo;
|
||||
this.ps3Icon.Location = new System.Drawing.Point(662, 267);
|
||||
this.ps3Icon.Name = "ps3Icon";
|
||||
this.ps3Icon.Size = new System.Drawing.Size(58, 13);
|
||||
this.ps3Icon.TabIndex = 14;
|
||||
this.ps3Icon.TabStop = false;
|
||||
//
|
||||
// gameIcon
|
||||
//
|
||||
this.gameIcon.BackColor = System.Drawing.Color.Transparent;
|
||||
this.gameIcon.Image = global::GayMaker_PS3.Properties.Resources.gameIcon;
|
||||
this.gameIcon.Location = new System.Drawing.Point(86, 125);
|
||||
this.gameIcon.Name = "gameIcon";
|
||||
this.gameIcon.Size = new System.Drawing.Size(61, 40);
|
||||
this.gameIcon.TabIndex = 13;
|
||||
this.gameIcon.TabStop = false;
|
||||
//
|
||||
// IconPreview2
|
||||
//
|
||||
this.IconPreview2.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("IconPreview2.BackgroundImage")));
|
||||
this.IconPreview2.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch;
|
||||
this.IconPreview2.Location = new System.Drawing.Point(209, 203);
|
||||
this.IconPreview2.Name = "IconPreview2";
|
||||
this.IconPreview2.Size = new System.Drawing.Size(169, 97);
|
||||
this.IconPreview2.TabIndex = 12;
|
||||
this.IconPreview2.TabStop = false;
|
||||
//
|
||||
// IconPreview
|
||||
//
|
||||
this.IconPreview.BackColor = System.Drawing.Color.Transparent;
|
||||
this.IconPreview.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("IconPreview.BackgroundImage")));
|
||||
this.IconPreview.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch;
|
||||
this.IconPreview.Location = new System.Drawing.Point(67, 228);
|
||||
this.IconPreview.Name = "IconPreview";
|
||||
this.IconPreview.Size = new System.Drawing.Size(97, 56);
|
||||
this.IconPreview.TabIndex = 10;
|
||||
this.IconPreview.TabStop = false;
|
||||
//
|
||||
// Title
|
||||
//
|
||||
this.Title.BackColor = System.Drawing.Color.Transparent;
|
||||
this.Title.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
|
||||
this.Title.Font = new System.Drawing.Font("Microsoft Sans Serif", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.Title.ForeColor = System.Drawing.Color.White;
|
||||
this.Title.Location = new System.Drawing.Point(392, 227);
|
||||
this.Title.Name = "Title";
|
||||
this.Title.Size = new System.Drawing.Size(309, 23);
|
||||
this.Title.TabIndex = 11;
|
||||
this.Title.Text = "GameMaker: Studio";
|
||||
//
|
||||
// folderIcon
|
||||
//
|
||||
this.folderIcon.BackColor = System.Drawing.Color.Transparent;
|
||||
this.folderIcon.Image = global::GayMaker_PS3.Properties.Resources.folderIcon;
|
||||
this.folderIcon.Location = new System.Drawing.Point(64, 216);
|
||||
this.folderIcon.Name = "folderIcon";
|
||||
this.folderIcon.Size = new System.Drawing.Size(111, 72);
|
||||
this.folderIcon.TabIndex = 15;
|
||||
this.folderIcon.TabStop = false;
|
||||
//
|
||||
// Logo
|
||||
//
|
||||
this.Logo.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("Logo.BackgroundImage")));
|
||||
this.Logo.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch;
|
||||
this.Logo.Location = new System.Drawing.Point(1022, 332);
|
||||
this.Logo.Name = "Logo";
|
||||
this.Logo.Size = new System.Drawing.Size(257, 206);
|
||||
this.Logo.TabIndex = 8;
|
||||
this.Logo.TabStop = false;
|
||||
//
|
||||
// GayMakerPS3
|
||||
//
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
|
||||
this.ClientSize = new System.Drawing.Size(1344, 691);
|
||||
this.Controls.Add(this.panel1);
|
||||
this.Controls.Add(this.CreatePKG);
|
||||
this.Controls.Add(this.Logo);
|
||||
this.Controls.Add(this.GameSettings);
|
||||
this.Controls.Add(this.label1);
|
||||
this.Controls.Add(this.xmbScreen);
|
||||
this.Controls.Add(this.xmbPreview);
|
||||
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
|
||||
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
|
||||
this.MaximizeBox = false;
|
||||
this.Name = "GayMakerPS3";
|
||||
this.Text = "GayMaker: PS3 v";
|
||||
this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.GayMakerPs3_FormClosing);
|
||||
this.Load += new System.EventHandler(this.GayMakerPs3_Load);
|
||||
this.GameSettings.ResumeLayout(false);
|
||||
this.GameSettings.PerformLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit();
|
||||
this.panel1.ResumeLayout(false);
|
||||
this.panel1.PerformLayout();
|
||||
this.xmbPreview.ResumeLayout(false);
|
||||
((System.ComponentModel.ISupportInitialize)(this.ps3Icon)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.gameIcon)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.IconPreview2)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.IconPreview)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.folderIcon)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.Logo)).EndInit();
|
||||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private System.Windows.Forms.RadioButton xmbScreen;
|
||||
private System.Windows.Forms.Label label1;
|
||||
private System.Windows.Forms.Panel GameSettings;
|
||||
private System.Windows.Forms.PictureBox Logo;
|
||||
private System.Windows.Forms.Button CreatePKG;
|
||||
private System.Windows.Forms.Panel panel1;
|
||||
private System.Windows.Forms.TextBox GmacOut;
|
||||
private System.Windows.Forms.Button browseProject;
|
||||
private System.Windows.Forms.TextBox projectPath;
|
||||
private System.Windows.Forms.Label label2;
|
||||
private System.Windows.Forms.Button browseIcon;
|
||||
private System.Windows.Forms.TextBox iconPath;
|
||||
private System.Windows.Forms.Label label3;
|
||||
private System.Windows.Forms.Label label7;
|
||||
private System.Windows.Forms.TextBox titleName;
|
||||
private System.Windows.Forms.Label label6;
|
||||
private System.Windows.Forms.TextBox titleID;
|
||||
private System.Windows.Forms.Label label5;
|
||||
private System.Windows.Forms.TextBox contentID;
|
||||
private System.Windows.Forms.Button browsePic;
|
||||
private System.Windows.Forms.TextBox picPath;
|
||||
private System.Windows.Forms.Label label4;
|
||||
private System.Windows.Forms.Panel xmbPreview;
|
||||
private System.Windows.Forms.PictureBox pictureBox1;
|
||||
private System.Windows.Forms.Label GlobalGameSettings;
|
||||
private System.Windows.Forms.Label label8;
|
||||
private System.Windows.Forms.ComboBox VersionSelect;
|
||||
private System.Windows.Forms.PictureBox ps3Icon;
|
||||
private System.Windows.Forms.PictureBox gameIcon;
|
||||
private System.Windows.Forms.PictureBox IconPreview2;
|
||||
private System.Windows.Forms.PictureBox IconPreview;
|
||||
private System.Windows.Forms.Label Title;
|
||||
private System.Windows.Forms.PictureBox folderIcon;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,674 @@
|
|||
using System;
|
||||
using System.Diagnostics;
|
||||
using System.Drawing;
|
||||
using System.Drawing.Imaging;
|
||||
using System.IO;
|
||||
using System.Net;
|
||||
using System.Net.Cache;
|
||||
using System.Reflection;
|
||||
using System.Threading;
|
||||
using System.Windows.Forms;
|
||||
using System.Xml;
|
||||
|
||||
namespace GayMaker_PS3
|
||||
{
|
||||
public partial class GayMakerPS3 : Form
|
||||
{
|
||||
public String CurrentVerison = "1.0";
|
||||
bool HasShaders = false;
|
||||
|
||||
public GayMakerPS3()
|
||||
{
|
||||
|
||||
//Bypass Windows DPI Scaling
|
||||
Font = new Font(Font.Name, 8.25f * 96f / CreateGraphics().DpiX, Font.Style, Font.Unit, Font.GdiCharSet, Font.GdiVerticalFont);
|
||||
InitializeComponent();
|
||||
}
|
||||
|
||||
public String GetProjectPath() //For GlobalGameSettings
|
||||
{
|
||||
return projectPath.Text;
|
||||
}
|
||||
|
||||
private bool isValidContentId(string contentId)
|
||||
{
|
||||
if(contentId.Length == 36)
|
||||
if (Char.IsLetter(contentId[0]))
|
||||
if (Char.IsUpper(contentId[0]))
|
||||
if (Char.IsLetter(contentId[1]))
|
||||
if (Char.IsUpper(contentId[1]))
|
||||
if (Char.IsNumber(contentId[2]))
|
||||
if (Char.IsNumber(contentId[3]))
|
||||
if (Char.IsNumber(contentId[4]))
|
||||
if (Char.IsNumber(contentId[5]))
|
||||
if (contentId[6] == '-')
|
||||
if (Char.IsLetter(contentId[7]))
|
||||
if (Char.IsUpper(contentId[7]))
|
||||
if (Char.IsLetter(contentId[8]))
|
||||
if (Char.IsUpper(contentId[8]))
|
||||
if (Char.IsLetter(contentId[9]))
|
||||
if (Char.IsUpper(contentId[9]))
|
||||
if (Char.IsLetter(contentId[10]))
|
||||
if (Char.IsUpper(contentId[10]))
|
||||
if (Char.IsNumber(contentId[11]))
|
||||
if (Char.IsNumber(contentId[12]))
|
||||
if (Char.IsNumber(contentId[13]))
|
||||
if (Char.IsNumber(contentId[14]))
|
||||
if (Char.IsNumber(contentId[15]))
|
||||
if (contentId[16] == '_')
|
||||
if (Char.IsNumber(contentId[17]))
|
||||
if (Char.IsNumber(contentId[18]))
|
||||
if (contentId[19] == '-')
|
||||
if ((Char.IsNumber(contentId[20])) || (Char.IsLetter(contentId[20]) && Char.IsUpper(contentId[20])))
|
||||
if ((Char.IsNumber(contentId[21])) || (Char.IsLetter(contentId[21]) && Char.IsUpper(contentId[21])))
|
||||
if ((Char.IsNumber(contentId[22])) || (Char.IsLetter(contentId[22]) && Char.IsUpper(contentId[22])))
|
||||
if ((Char.IsNumber(contentId[23])) || (Char.IsLetter(contentId[23]) && Char.IsUpper(contentId[23])))
|
||||
if ((Char.IsNumber(contentId[24])) || (Char.IsLetter(contentId[24]) && Char.IsUpper(contentId[24])))
|
||||
if ((Char.IsNumber(contentId[25])) || (Char.IsLetter(contentId[25]) && Char.IsUpper(contentId[25])))
|
||||
if ((Char.IsNumber(contentId[26])) || (Char.IsLetter(contentId[26]) && Char.IsUpper(contentId[26])))
|
||||
if ((Char.IsNumber(contentId[27])) || (Char.IsLetter(contentId[27]) && Char.IsUpper(contentId[27])))
|
||||
if ((Char.IsNumber(contentId[28])) || (Char.IsLetter(contentId[28]) && Char.IsUpper(contentId[28])))
|
||||
if ((Char.IsNumber(contentId[29])) || (Char.IsLetter(contentId[29]) && Char.IsUpper(contentId[29])))
|
||||
if ((Char.IsNumber(contentId[30])) || (Char.IsLetter(contentId[30]) && Char.IsUpper(contentId[30])))
|
||||
if ((Char.IsNumber(contentId[31])) || (Char.IsLetter(contentId[31]) && Char.IsUpper(contentId[31])))
|
||||
if ((Char.IsNumber(contentId[32])) || (Char.IsLetter(contentId[32]) && Char.IsUpper(contentId[32])))
|
||||
if ((Char.IsNumber(contentId[33])) || (Char.IsLetter(contentId[33]) && Char.IsUpper(contentId[33])))
|
||||
if ((Char.IsNumber(contentId[34])) || (Char.IsLetter(contentId[34]) && Char.IsUpper(contentId[34])))
|
||||
if ((Char.IsNumber(contentId[35])) || (Char.IsLetter(contentId[35]) && Char.IsUpper(contentId[35])))
|
||||
return true;
|
||||
return false;
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
private bool canMakePkg()
|
||||
{
|
||||
if (File.Exists(projectPath.Text))
|
||||
if (isValidContentId(contentID.Text))
|
||||
return true;
|
||||
return false;
|
||||
}
|
||||
|
||||
private void reloadIcons()
|
||||
{
|
||||
try
|
||||
{
|
||||
IconPreview.BackgroundImage.Dispose();
|
||||
IconPreview2.BackgroundImage.Dispose();
|
||||
xmbPreview.BackgroundImage.Dispose();
|
||||
}
|
||||
catch { };
|
||||
|
||||
Image IBG = new Bitmap(iconPath.Text);
|
||||
IconPreview.BackgroundImage = IBG;
|
||||
IconPreview2.BackgroundImage = IBG;
|
||||
|
||||
Image PBG = new Bitmap(picPath.Text);
|
||||
xmbPreview.BackgroundImage = PBG;
|
||||
}
|
||||
|
||||
private void GayMakerPs3_FormClosing(object sender, FormClosingEventArgs e)
|
||||
{
|
||||
try
|
||||
{
|
||||
Microsoft.Win32.RegistryKey key = Microsoft.Win32.Registry.CurrentUser.CreateSubKey(@"Software\GayMakerPS3");
|
||||
key.SetValue("project", projectPath.Text);
|
||||
key.SetValue("icon0", iconPath.Text);
|
||||
key.SetValue("pic1", picPath.Text);
|
||||
key.SetValue("title", titleName.Text);
|
||||
key.SetValue("contentID", contentID.Text);
|
||||
key.SetValue("version", VersionSelect.SelectedIndex);
|
||||
key.Close();
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
MessageBox.Show("Failed to save settings to registry.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
||||
}
|
||||
}
|
||||
|
||||
private void CheckForUpdates()
|
||||
{
|
||||
WebClient wc = new WebClient();
|
||||
|
||||
wc.CachePolicy = new RequestCachePolicy(RequestCacheLevel.NoCacheNoStore);
|
||||
String UpdateString = wc.DownloadString("https://raw.githubusercontent.com/LiEnby/GayMaker-PS3/master/latest.md");
|
||||
String[] Data = UpdateString.Split('~');
|
||||
if (Data[0] != CurrentVerison)
|
||||
{
|
||||
DialogResult yesOrNo = MessageBox.Show("An update to GayMaker: PS3 was found, Version: " + Data[0] + "\nWant to download it?\n\nThis system software update improves system performance.", "UPDATE FOUND!", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
|
||||
if (yesOrNo == DialogResult.Yes)
|
||||
{
|
||||
DownloadingUpdate updateForm = new DownloadingUpdate();
|
||||
this.Hide();
|
||||
updateForm.ShowDialog();
|
||||
this.Close();
|
||||
this.Dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void GayMakerPs3_Load(object sender, EventArgs e)
|
||||
{
|
||||
this.Text += CurrentVerison;
|
||||
ReloadVersions();
|
||||
|
||||
|
||||
String OldEXEPath = Path.ChangeExtension(Assembly.GetExecutingAssembly().Location,".old");
|
||||
if(File.Exists(OldEXEPath))
|
||||
{
|
||||
File.Delete(OldEXEPath);
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
CheckForUpdates();
|
||||
}
|
||||
catch (Exception) { };
|
||||
|
||||
|
||||
|
||||
try
|
||||
{
|
||||
Microsoft.Win32.RegistryKey key;
|
||||
key = Microsoft.Win32.Registry.CurrentUser.CreateSubKey(@"Software\GayMakerPS3");
|
||||
|
||||
projectPath.Text = key.GetValue("project").ToString();
|
||||
iconPath.Text = key.GetValue("icon0").ToString();
|
||||
picPath.Text = key.GetValue("pic1").ToString();
|
||||
titleName.Text = key.GetValue("title").ToString();
|
||||
contentID.Text = key.GetValue("contentID").ToString();
|
||||
|
||||
int VerIndex = 0;
|
||||
int.TryParse(key.GetValue("version").ToString(), out VerIndex);
|
||||
VersionSelect.SelectedIndex = VerIndex;
|
||||
|
||||
xmbScreen.Checked = true;
|
||||
|
||||
xmbPreview.Visible = true;
|
||||
|
||||
key.Close();
|
||||
|
||||
reloadIcons();
|
||||
}
|
||||
catch (Exception) { };
|
||||
|
||||
|
||||
if (!File.Exists(iconPath.Text))
|
||||
{
|
||||
iconPath.Text = "img\\icon0.png";
|
||||
}
|
||||
|
||||
if (!File.Exists(picPath.Text))
|
||||
{
|
||||
picPath.Text = "img\\pic1.png";
|
||||
}
|
||||
|
||||
if (!File.Exists(projectPath.Text))
|
||||
{
|
||||
projectPath.Text = "(none)";
|
||||
}
|
||||
else
|
||||
{
|
||||
GlobalGameSettings.Enabled = true;
|
||||
}
|
||||
|
||||
CreatePKG.Enabled = canMakePkg();
|
||||
}
|
||||
|
||||
private void titleName_TextChanged(object sender, EventArgs e)
|
||||
{
|
||||
xmbScreen.Checked = true;
|
||||
Title.Text = titleName.Text;
|
||||
}
|
||||
|
||||
private void homeScreen_CheckedChanged(object sender, EventArgs e)
|
||||
{
|
||||
xmbPreview.Visible = false;
|
||||
}
|
||||
|
||||
private void contentID_TextChanged(object sender, EventArgs e)
|
||||
{
|
||||
if(isValidContentId(contentID.Text))
|
||||
{
|
||||
titleID.Text = contentID.Text.Substring(7, 9);
|
||||
}
|
||||
else
|
||||
{
|
||||
titleID.Text = "(INVALID)";
|
||||
}
|
||||
|
||||
CreatePKG.Enabled = canMakePkg();
|
||||
}
|
||||
|
||||
private void browseProject_Click(object sender, EventArgs e)
|
||||
{
|
||||
OpenFileDialog openFileDialog1 = new OpenFileDialog();
|
||||
openFileDialog1.Filter = "GameMaker Studio Project Files|*.project.gmx;*.yyp|GameMaker Studio 1.x Project Files|*.project.gmx";
|
||||
openFileDialog1.Title = "Select a GameMaker Studio Project File";
|
||||
if (openFileDialog1.ShowDialog() == DialogResult.OK)
|
||||
{
|
||||
titleName.Text = "GameMaker: Studio";
|
||||
iconPath.Text = "img\\icon0.png";
|
||||
picPath.Text = "img\\pic1.png";
|
||||
contentID.Text = "IV0000-NPXS00020_00-GAMEMAKERSTUDIO0";
|
||||
projectPath.Text = openFileDialog1.FileName;
|
||||
|
||||
CreatePKG.Enabled = true;
|
||||
GlobalGameSettings.Enabled = true;
|
||||
reloadIcons();
|
||||
}
|
||||
}
|
||||
|
||||
private void browseIcon_Click(object sender, EventArgs e)
|
||||
{
|
||||
OpenFileDialog openFileDialog1 = new OpenFileDialog();
|
||||
openFileDialog1.Filter = "Portable Network Graphics|*.PNG";
|
||||
openFileDialog1.Title = "Select a PNG File";
|
||||
if (openFileDialog1.ShowDialog() == DialogResult.OK)
|
||||
{
|
||||
Image img = new Bitmap(openFileDialog1.FileName);
|
||||
if (img.Height == 320 && img.Width == 176)
|
||||
{
|
||||
IconPreview.BackgroundImage.Dispose();
|
||||
IconPreview2.BackgroundImage.Dispose();
|
||||
|
||||
IconPreview.BackgroundImage = img;
|
||||
IconPreview2.BackgroundImage = img;
|
||||
|
||||
xmbScreen.Checked = true;
|
||||
iconPath.Text = openFileDialog1.FileName;
|
||||
}
|
||||
else
|
||||
{
|
||||
img.Dispose(); //fix issue #2
|
||||
MessageBox.Show("Image is not 320x176!", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
private void browsePic_Click(object sender, EventArgs e)
|
||||
{
|
||||
OpenFileDialog openFileDialog1 = new OpenFileDialog();
|
||||
openFileDialog1.Filter = "Portable Network Graphics|*.PNG";
|
||||
openFileDialog1.Title = "Select a PNG File";
|
||||
if (openFileDialog1.ShowDialog() == DialogResult.OK)
|
||||
{
|
||||
Image img = new Bitmap(openFileDialog1.FileName);
|
||||
if (img.Height == 1080 && img.Width == 1920)
|
||||
{
|
||||
xmbPreview.BackgroundImage.Dispose();
|
||||
xmbPreview.BackgroundImage = img;
|
||||
picPath.Text = openFileDialog1.FileName;
|
||||
}
|
||||
else
|
||||
{
|
||||
img.Dispose(); //fix issue #2
|
||||
MessageBox.Show("Image is not 1920x1080 !", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void GlobalGameSettings_MouseEnter(object sender, EventArgs e)
|
||||
{
|
||||
GlobalGameSettings.ForeColor = Color.Blue;
|
||||
GlobalGameSettings.Font = new Font(label1.Font.Name, label1.Font.SizeInPoints, FontStyle.Underline);
|
||||
this.Cursor = Cursors.Hand;
|
||||
}
|
||||
|
||||
private void GlobalGameSettings_MouseLeave(object sender, EventArgs e)
|
||||
{
|
||||
GlobalGameSettings.ForeColor = Color.Black;
|
||||
GlobalGameSettings.Font = new Font(label1.Font.Name, label1.Font.SizeInPoints, FontStyle.Regular);
|
||||
this.Cursor = Cursors.Arrow;
|
||||
}
|
||||
|
||||
private void GlobalGameSettings_DoubleClick(object sender, EventArgs e)
|
||||
{
|
||||
GameSettings GlobalGames = new GameSettings();
|
||||
GlobalGames.ShowDialog();
|
||||
}
|
||||
|
||||
|
||||
private void CopyDir(string source, string target)
|
||||
{
|
||||
GmacOut.AppendText("Copying Directory: \"" + source + "\" -> \"" + target + "\"" + Environment.NewLine);
|
||||
|
||||
if (!Directory.Exists(target)) Directory.CreateDirectory(target);
|
||||
string[] sysEntries = Directory.GetFileSystemEntries(source);
|
||||
|
||||
foreach (string sysEntry in sysEntries)
|
||||
{
|
||||
string fileName = Path.GetFileName(sysEntry);
|
||||
string targetPath = Path.Combine(target, fileName);
|
||||
if (Directory.Exists(sysEntry))
|
||||
CopyDir(sysEntry, targetPath);
|
||||
else
|
||||
{
|
||||
GmacOut.AppendText("Copying \"" + fileName + "\""+Environment.NewLine);
|
||||
File.Copy(sysEntry, targetPath, true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void Make24Bit(string Src, string Dst)
|
||||
{
|
||||
GmacOut.AppendText("Making " + Src + " 24 bit color depth!");
|
||||
Bitmap orig = new Bitmap(Src);
|
||||
if ((orig.PixelFormat != PixelFormat.Format24bppRgb))
|
||||
{
|
||||
Bitmap clone = orig.Clone(new Rectangle(0, 0, orig.Width, orig.Height), PixelFormat.Format24bppRgb);
|
||||
clone.Save(@Dst);
|
||||
clone.Dispose();
|
||||
GmacOut.AppendText(" Done!" + Environment.NewLine);
|
||||
}
|
||||
else
|
||||
{
|
||||
GmacOut.AppendText(" No need!" + Environment.NewLine);
|
||||
File.Copy(Src, Dst);
|
||||
}
|
||||
orig.Dispose();
|
||||
|
||||
|
||||
}
|
||||
|
||||
private bool CompileProject(string Src, string Dst)
|
||||
{
|
||||
string GMVer = VersionSelect.SelectedItem.ToString();
|
||||
|
||||
|
||||
String TexturePageSize = "2048";
|
||||
String SHEnabled = "False";
|
||||
|
||||
XmlDocument DefaultConfig = new XmlDocument();
|
||||
DefaultConfig.Load(Path.GetDirectoryName(projectPath.Text) + "\\Configs\\Default.config.gmx");
|
||||
TexturePageSize = DefaultConfig.GetElementsByTagName("option_ps3_texture_page")[0].InnerText;
|
||||
SHEnabled = DefaultConfig.GetElementsByTagName("option_shortcircuit")[0].InnerText;
|
||||
|
||||
|
||||
string versionBit = GMVer.Split('.')[2];
|
||||
|
||||
string args = "/c /m=ps3 /be /config=\"Default\" /tgt=2199023255552 /obob=True /obpp=False /obru=True /obes=False /i=3 /j=4 /cvm /tp=" + TexturePageSize + " /ps3sdk=\"" + Directory.GetCurrentDirectory() + "\\ps3sdk\" /mv=1 /iv=0 /rv=0 /bv=" + versionBit + " /gn=\"" + titleName.Text + "\" /sh="+SHEnabled+" /o=\"" + Dst + "\" \"" + Src + "\"";
|
||||
|
||||
GmacOut.AppendText("-- GMASSETCOMPILER BEGIN --" + Environment.NewLine);
|
||||
GmacOut.AppendText("GMAssetCompiler.exe " + args + Environment.NewLine);
|
||||
using (Process gmac = new Process())
|
||||
{
|
||||
if (GMVer == "1.4.9999")
|
||||
{
|
||||
gmac.StartInfo.FileName = "GMAssetCompiler.exe";
|
||||
}
|
||||
else
|
||||
{
|
||||
gmac.StartInfo.FileName = "versions\\" + GMVer + "\\GMAssetCompiler.exe";
|
||||
gmac.StartInfo.WorkingDirectory = "versions\\" + GMVer;
|
||||
}
|
||||
|
||||
gmac.StartInfo.Arguments = args;
|
||||
gmac.StartInfo.UseShellExecute = false;
|
||||
gmac.StartInfo.CreateNoWindow = true;
|
||||
gmac.StartInfo.RedirectStandardOutput = true;
|
||||
gmac.StartInfo.RedirectStandardError = true;
|
||||
gmac.ErrorDataReceived += new DataReceivedEventHandler(gmacWrite);
|
||||
gmac.OutputDataReceived += new DataReceivedEventHandler(gmacWrite);
|
||||
GMAC.GetPermissionToExecute();
|
||||
gmac.Start();
|
||||
gmac.BeginOutputReadLine();
|
||||
gmac.BeginErrorReadLine();
|
||||
|
||||
while (!gmac.HasExited)
|
||||
{
|
||||
Application.DoEvents();
|
||||
}
|
||||
if (gmac.ExitCode != 0)
|
||||
{
|
||||
|
||||
MessageBox.Show("GMAssetCompiler.exe Error Code: " + gmac.ExitCode.ToString(), "GMAC Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
||||
Directory.Delete(Dst, true);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
GmacOut.AppendText("-- GMASSETCOMPILER FINISHED! --" + Environment.NewLine);
|
||||
|
||||
GmacOut.AppendText("Renaming to game.win...");
|
||||
foreach (String file in Directory.GetFiles(Dst))
|
||||
{
|
||||
if (file.EndsWith(".win"))
|
||||
{
|
||||
File.Move(file, Dst + "\\game.win");
|
||||
}
|
||||
|
||||
if (file.EndsWith(".yydebug"))
|
||||
{
|
||||
File.Delete(file);
|
||||
}
|
||||
}
|
||||
GmacOut.AppendText("OK!" + Environment.NewLine);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
|
||||
void gmacWrite(object sender, DataReceivedEventArgs e)
|
||||
{
|
||||
Trace.WriteLine(e.Data);
|
||||
this.BeginInvoke(new MethodInvoker(() =>
|
||||
{
|
||||
GmacOut.AppendText(e.Data + Environment.NewLine);
|
||||
}));
|
||||
}
|
||||
|
||||
|
||||
private void CreatePKG_Click(object sender, EventArgs e)
|
||||
{
|
||||
string GMVer = VersionSelect.SelectedItem.ToString();
|
||||
|
||||
string tempdir = "";
|
||||
|
||||
SaveFileDialog saveFileDialog1 = new SaveFileDialog();
|
||||
saveFileDialog1.Filter = "PS3 Packages|*.pkg";
|
||||
saveFileDialog1.Title = "Save PKG File";
|
||||
saveFileDialog1.FileName = contentID.Text;
|
||||
CreatePKG.Enabled = false;
|
||||
|
||||
if(GMVer.StartsWith("1."))
|
||||
HasShaders = File.ReadAllText(projectPath.Text).Contains("</shaders>"); //Too lazy to parse XML properly.
|
||||
|
||||
if (HasShaders)
|
||||
{
|
||||
if (!Directory.Exists(@"ps3sdk"))
|
||||
{
|
||||
DialogResult msgResult = MessageBox.Show("It's been detected that you are using Shaders in your GM Project\nHowever no copy of the PS3 Shader Compiler (sce-cgc.exe) was found.\nBrowse to sce-cgc.exe?", "Shader Warning", MessageBoxButtons.YesNo, MessageBoxIcon.Exclamation);
|
||||
if (msgResult == DialogResult.Yes)
|
||||
{
|
||||
OpenFileDialog openFileDialog = new OpenFileDialog();
|
||||
openFileDialog.Filter = "sce-cgc.exe|sce-cgc.exe";
|
||||
openFileDialog.Title = "Browse to PS3 Shader Compiler.";
|
||||
if (openFileDialog.ShowDialog() == DialogResult.OK)
|
||||
{
|
||||
|
||||
if (!Directory.Exists(@"ps3sdk"))
|
||||
{
|
||||
GmacOut.AppendText("Creating PS3SDK Directory Structure\n");
|
||||
Directory.CreateDirectory("ps3sdk");
|
||||
Directory.CreateDirectory("ps3sdk/host_tools");
|
||||
Directory.CreateDirectory("ps3sdk/host_tools/Cg");
|
||||
Directory.CreateDirectory("ps3sdk/host_tools/Cg/bin");
|
||||
}
|
||||
File.Copy(openFileDialog.FileName, @"ps3sdk/host_tools/Cg/bin/sce-cgc.exe");
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
CreatePKG.Enabled = true;
|
||||
return;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
CreatePKG.Enabled = true;
|
||||
return;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (saveFileDialog1.ShowDialog() == DialogResult.OK)
|
||||
{
|
||||
tempdir = Path.GetDirectoryName(saveFileDialog1.FileName) + "\\_temp";
|
||||
|
||||
if (Directory.Exists(tempdir))
|
||||
{
|
||||
Directory.Delete(tempdir, true);
|
||||
}
|
||||
Directory.CreateDirectory(tempdir);
|
||||
Directory.CreateDirectory(tempdir + "\\package");
|
||||
|
||||
if (GMVer == "1.4.9999")
|
||||
{
|
||||
CopyDir(@"Runner", tempdir+"\\package");
|
||||
}
|
||||
else
|
||||
{
|
||||
CopyDir("versions\\" + GMVer + "\\Runner", tempdir + "\\package");
|
||||
}
|
||||
|
||||
|
||||
Make24Bit(iconPath.Text, tempdir + "\\package\\ICON0.png");
|
||||
Make24Bit(iconPath.Text, tempdir + "\\package\\USRDIR\\ICON0.png");
|
||||
Make24Bit(picPath.Text, tempdir + "\\package\\PIC1.png");
|
||||
|
||||
if (!CompileProject(projectPath.Text, tempdir + "\\package\\USRDIR"))
|
||||
{
|
||||
Directory.Delete(tempdir, true);
|
||||
CreatePKG.Enabled = true;
|
||||
return;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
CreatePKG.Enabled = true;
|
||||
return;
|
||||
}
|
||||
|
||||
using (FileStream fd = File.Open(tempdir + "\\package\\PARAM.SFO", FileMode.OpenOrCreate, FileAccess.ReadWrite))
|
||||
{
|
||||
Sfo sfo = Sfo.ReadSfo(fd);
|
||||
GmacOut.AppendText("Writing " + titleName.Text + " to TITLE of param.sfo" + Environment.NewLine);
|
||||
sfo["TITLE"] = titleName.Text;
|
||||
|
||||
|
||||
GmacOut.AppendText("Writing " + titleID.Text + " to TITLE_ID of param.sfo" + Environment.NewLine);
|
||||
sfo["TITLE_ID"] = titleID.Text;
|
||||
|
||||
GmacOut.AppendText("Writing " + contentID.Text + " to CONTENT_ID of param.sfo!" + Environment.NewLine);
|
||||
sfo["CONTENT_ID"] = contentID.Text;
|
||||
|
||||
fd.Seek(0x00, SeekOrigin.Begin);
|
||||
|
||||
byte[] sfoData = sfo.WriteSfo();
|
||||
fd.Write(sfoData, 0, sfoData.Length);
|
||||
fd.SetLength(sfoData.Length);
|
||||
}
|
||||
|
||||
|
||||
|
||||
GmacOut.AppendText("Creating package.conf ...");
|
||||
|
||||
|
||||
File.AppendAllLines(tempdir+"\\package.conf", new string[] {
|
||||
"Content_ID = " + contentID.Text,
|
||||
"Klicensee = 0x00000000000000000000000000000000",
|
||||
"DRMType = Free",
|
||||
"ContentType = GameExec",
|
||||
"PackageVersion = 1.00"
|
||||
});
|
||||
|
||||
GmacOut.AppendText("OK!" + Environment.NewLine);
|
||||
|
||||
|
||||
if (File.Exists(saveFileDialog1.FileName))
|
||||
{
|
||||
File.Delete(saveFileDialog1.FileName);
|
||||
}
|
||||
|
||||
GmacOut.AppendText("Building PKG ...");
|
||||
Thread thr = new Thread(() =>
|
||||
{
|
||||
P3Tools.MakePackage(tempdir + "\\package.conf", tempdir + "\\package", tempdir, new DataReceivedEventHandler(gmacWrite));
|
||||
});
|
||||
thr.Start();
|
||||
|
||||
while (thr.IsAlive)
|
||||
{
|
||||
Application.DoEvents();
|
||||
}
|
||||
|
||||
GmacOut.AppendText("OK!" + Environment.NewLine);
|
||||
|
||||
File.Move(tempdir + "\\" + contentID.Text + ".pkg", saveFileDialog1.FileName);
|
||||
|
||||
|
||||
GmacOut.AppendText("Deleting " + tempdir + " ...");
|
||||
Directory.Delete(tempdir, true);
|
||||
GmacOut.AppendText("OK!" + Environment.NewLine);
|
||||
|
||||
GmacOut.AppendText("Done!" + Environment.NewLine);
|
||||
CreatePKG.Enabled = true;
|
||||
MessageBox.Show("PKG Created!", "Success", MessageBoxButtons.OK, MessageBoxIcon.Information);
|
||||
}
|
||||
|
||||
public void ReloadVersions()
|
||||
{
|
||||
VersionSelect.Items.Clear();
|
||||
VersionSelect.Items.Add("1.4.9999");
|
||||
try
|
||||
{
|
||||
foreach (String version in Directory.GetDirectories(@"versions"))
|
||||
{
|
||||
VersionSelect.Items.Add(Path.GetFileName(version));
|
||||
}
|
||||
}
|
||||
catch (Exception) { };
|
||||
|
||||
VersionSelect.Items.Add("Manager");
|
||||
|
||||
VersionSelect.SelectedIndex = 0;
|
||||
}
|
||||
|
||||
private void VersionSelect_SelectedIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
//1.4.9999 comes built in
|
||||
|
||||
if(VersionSelect.Text.StartsWith("1."))
|
||||
{
|
||||
GameSettings.Enabled = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
GlobalGameSettings.Enabled = false;
|
||||
}
|
||||
|
||||
if (VersionSelect.SelectedItem.ToString() == "Manager")
|
||||
{
|
||||
VersionSelect.SelectedIndex -= 1;
|
||||
this.Enabled = false;
|
||||
VersionManager VM = new VersionManager();
|
||||
VM.Show();
|
||||
VM.FormClosing += VM_FormClosing;
|
||||
}
|
||||
}
|
||||
|
||||
private void VM_FormClosing(object sender, FormClosingEventArgs e)
|
||||
{
|
||||
this.Enabled = true;
|
||||
ReloadVersions();
|
||||
this.Focus();
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,32 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Li.Utilities
|
||||
{
|
||||
public static class MathUtil
|
||||
{
|
||||
public static int CalculateDifference(int val1, int val2)
|
||||
{
|
||||
int smaller = Convert.ToInt32(Math.Min(val1, val2));
|
||||
int larger = Convert.ToInt32(Math.Max(val1, val2));
|
||||
|
||||
return larger - smaller;
|
||||
}
|
||||
|
||||
public static byte[] StringToByteArray(string hex)
|
||||
{
|
||||
return Enumerable.Range(0, hex.Length).Where(x => x % 2 == 0).Select(x => Convert.ToByte(hex.Substring(x, 2), 16)).ToArray();
|
||||
}
|
||||
|
||||
public static int CalculatePaddingAmount(int total, int alignTo)
|
||||
{
|
||||
int remainder = total % alignTo;
|
||||
int padAmt = alignTo - (remainder);
|
||||
if ((remainder) == 0) return 0;
|
||||
return padAmt;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,203 @@
|
|||
using System;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
|
||||
namespace Li.Utilities
|
||||
{
|
||||
public class StreamUtil
|
||||
{
|
||||
private Stream s;
|
||||
public StreamUtil(Stream s)
|
||||
{
|
||||
this.s = s;
|
||||
}
|
||||
public string ReadStrLen(int len)
|
||||
{
|
||||
return Encoding.UTF8.GetString(ReadBytes(len));
|
||||
}
|
||||
public string ReadCDStr(int len)
|
||||
{
|
||||
return ReadStrLen(len).Trim(' ');
|
||||
}
|
||||
public string ReadCStr()
|
||||
{
|
||||
using (MemoryStream ms = new MemoryStream())
|
||||
{
|
||||
while (true)
|
||||
{
|
||||
byte c = (byte)s.ReadByte();
|
||||
if (c == 0)
|
||||
break;
|
||||
ms.WriteByte(c);
|
||||
}
|
||||
return Encoding.UTF8.GetString(ms.ToArray());
|
||||
}
|
||||
}
|
||||
public UInt32 ReadUInt32At(int location)
|
||||
{
|
||||
long oldPos = s.Position;
|
||||
s.Seek(location, SeekOrigin.Begin);
|
||||
UInt32 outp = ReadUInt32();
|
||||
s.Seek(oldPos, SeekOrigin.Begin);
|
||||
return outp;
|
||||
}
|
||||
|
||||
public Int32 ReadInt32At(int location)
|
||||
{
|
||||
long oldPos = s.Position;
|
||||
s.Seek(location, SeekOrigin.Begin);
|
||||
Int32 outp = ReadInt32();
|
||||
s.Seek(oldPos, SeekOrigin.Begin);
|
||||
return outp;
|
||||
}
|
||||
|
||||
public byte[] ReadBytesAt(int location, int length)
|
||||
{
|
||||
long oldPos = s.Position;
|
||||
s.Seek(location, SeekOrigin.Begin);
|
||||
byte[] work_buf = ReadBytes(length);
|
||||
s.Seek(oldPos, SeekOrigin.Begin);
|
||||
return work_buf;
|
||||
}
|
||||
|
||||
public string ReadStringAt(int location)
|
||||
{
|
||||
long oldPos = s.Position;
|
||||
s.Seek(location, SeekOrigin.Begin);
|
||||
string outp = ReadCStr();
|
||||
s.Seek(oldPos, SeekOrigin.Begin);
|
||||
return outp;
|
||||
}
|
||||
public byte ReadByte()
|
||||
{
|
||||
return (byte)s.ReadByte();
|
||||
}
|
||||
public byte[] ReadBytes(int len)
|
||||
{
|
||||
byte[] data = new byte[len];
|
||||
s.Read(data, 0x00, len);
|
||||
return data;
|
||||
}
|
||||
public UInt16 ReadUInt16()
|
||||
{
|
||||
byte[] vbytes = ReadBytes(0x2);
|
||||
return BitConverter.ToUInt16(vbytes, 0);
|
||||
}
|
||||
public Int16 ReadInt16()
|
||||
{
|
||||
byte[] vbytes = ReadBytes(0x2);
|
||||
return BitConverter.ToInt16(vbytes, 0);
|
||||
}
|
||||
public UInt32 ReadUInt32()
|
||||
{
|
||||
byte[] vbytes = ReadBytes(0x4);
|
||||
return BitConverter.ToUInt32(vbytes, 0);
|
||||
}
|
||||
public Int32 ReadInt32()
|
||||
{
|
||||
byte[] vbytes = ReadBytes(0x4);
|
||||
return BitConverter.ToInt32(vbytes, 0);
|
||||
}
|
||||
public void WriteBytesWithPadding(byte[] data, byte b, int len)
|
||||
{
|
||||
if (len < data.Length)
|
||||
{
|
||||
s.Write(data, 0, len);
|
||||
return;
|
||||
}
|
||||
else
|
||||
{
|
||||
WriteBytes(data);
|
||||
WritePadding(b, (len - data.Length));
|
||||
}
|
||||
}
|
||||
public void WriteStrWithPadding(string str, byte b, int len)
|
||||
{
|
||||
WriteBytesWithPadding(Encoding.UTF8.GetBytes(str), b, len);
|
||||
}
|
||||
public void WriteUInt64(UInt64 v)
|
||||
{
|
||||
WriteBytes(BitConverter.GetBytes(v));
|
||||
}
|
||||
public void WriteInt64(Int64 v)
|
||||
{
|
||||
WriteBytes(BitConverter.GetBytes(v));
|
||||
}
|
||||
public void WriteUInt16(UInt16 v)
|
||||
{
|
||||
WriteBytes(BitConverter.GetBytes(v));
|
||||
}
|
||||
public void WriteInt16(Int16 v)
|
||||
{
|
||||
WriteBytes(BitConverter.GetBytes(v));
|
||||
}
|
||||
|
||||
public void WriteUInt32(UInt32 v)
|
||||
{
|
||||
WriteBytes(BitConverter.GetBytes(v));
|
||||
}
|
||||
public void WriteInt32BE(Int32 v)
|
||||
{
|
||||
WriteBytes(BitConverter.GetBytes(v).Reverse().ToArray());
|
||||
}
|
||||
public void WriteInt32At(Int32 v, long location)
|
||||
{
|
||||
long oldPos = s.Position;
|
||||
s.Seek(location, SeekOrigin.Begin);
|
||||
WriteInt32(v);
|
||||
s.Seek(oldPos, SeekOrigin.Begin);
|
||||
}
|
||||
public void WriteUInt32At(UInt32 v, long location)
|
||||
{
|
||||
long oldPos = s.Position;
|
||||
s.Seek(location, SeekOrigin.Begin);
|
||||
WriteUInt32(v);
|
||||
s.Seek(oldPos, SeekOrigin.Begin);
|
||||
}
|
||||
|
||||
public void WriteInt32(Int32 v)
|
||||
{
|
||||
WriteBytes(BitConverter.GetBytes(v));
|
||||
}
|
||||
public void WriteCStr(string str)
|
||||
{
|
||||
WriteStr(str);
|
||||
WriteByte(0x00);
|
||||
}
|
||||
public void WriteStr(string str)
|
||||
{
|
||||
WriteBytes(Encoding.UTF8.GetBytes(str));
|
||||
}
|
||||
|
||||
public void WritePadding(byte b, int len)
|
||||
{
|
||||
if (len < 0) return;
|
||||
for(int i = 0; i < len; i++)
|
||||
{
|
||||
WriteByte(b);
|
||||
}
|
||||
}
|
||||
|
||||
public void AlignTo(byte padByte, int align)
|
||||
{
|
||||
int padAmt = MathUtil.CalculatePaddingAmount(Convert.ToInt32(s.Position), align);
|
||||
|
||||
this.WritePadding(padByte, padAmt);
|
||||
}
|
||||
public void PadUntil(byte b, int len)
|
||||
{
|
||||
int remain = Convert.ToInt32(len - s.Length);
|
||||
WritePadding(b, remain);
|
||||
}
|
||||
public void WriteBytes(byte[] bytes)
|
||||
{
|
||||
s.Write(bytes, 0, bytes.Length);
|
||||
}
|
||||
public void WriteByte(byte b)
|
||||
{
|
||||
s.WriteByte(b);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
|
@ -0,0 +1,107 @@
|
|||
|
||||
|
||||
using System;
|
||||
using System.Diagnostics;
|
||||
using System.IO;
|
||||
|
||||
namespace
|
||||
GayMaker_PS3
|
||||
{
|
||||
class P3Tools
|
||||
{
|
||||
public static void RemoveEdataChk(string elf)
|
||||
{
|
||||
|
||||
byte[] signature = new byte[] { 0x38, 0xA0, 0x00, 0x00, 0x38, 0xC0, 0x03, 0xE9, 0x38, 0xE0, 0x40, 0x00, 0xF8, 0x81, 0x00, 0x70 }; /*
|
||||
* li r5, 0
|
||||
* li r6, 0x3e9
|
||||
* li r7, 0x4000
|
||||
* std r4, 0x70(r1)
|
||||
*/
|
||||
byte[] patch = new byte[] { 0x4E, 0x80, 0x00, 0x20 }; /*
|
||||
* blr
|
||||
*/
|
||||
|
||||
int offset = 0x24; // total bytes from li r5 to the start of the "psn_handle_content_error" function
|
||||
|
||||
|
||||
byte[] fileData = File.ReadAllBytes(elf);
|
||||
|
||||
// search for signature within elf file
|
||||
for (int i = 0; i < fileData.Length - signature.Length; i++)
|
||||
{
|
||||
bool match = true;
|
||||
for (int k = 0; k < signature.Length; k++)
|
||||
{
|
||||
if (fileData[i + k] != signature[k])
|
||||
{
|
||||
match = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (match)
|
||||
{
|
||||
i -= offset; // minus the offset to find the start of the function
|
||||
Array.ConstrainedCopy(patch, 0, fileData, i, patch.Length); // copy patch to the file data
|
||||
File.WriteAllBytes(elf, fileData); // save patched ELF to disk.
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
public static void MakePackage(string conf, string folder, string outFolder, DataReceivedEventHandler handler=null)
|
||||
{
|
||||
using (Process makepackage = new Process())
|
||||
{
|
||||
makepackage.StartInfo.FileName = @"P3Tools\\make_package_npdrm.exe";
|
||||
makepackage.StartInfo.Arguments = "\"" + conf + "\" \"" + folder + "\"";
|
||||
makepackage.StartInfo.UseShellExecute = false;
|
||||
makepackage.StartInfo.RedirectStandardOutput = true;
|
||||
makepackage.StartInfo.RedirectStandardError = true;
|
||||
makepackage.StartInfo.CreateNoWindow = true;
|
||||
makepackage.StartInfo.WorkingDirectory = outFolder;
|
||||
if (handler != null) makepackage.OutputDataReceived += handler;
|
||||
if (handler != null) makepackage.ErrorDataReceived += handler;
|
||||
makepackage.Start();
|
||||
makepackage.WaitForExit();
|
||||
}
|
||||
}
|
||||
public static void UnmakeFself(string self, string elf, DataReceivedEventHandler handler = null)
|
||||
{
|
||||
using (Process unmakefself = new Process())
|
||||
{
|
||||
unmakefself.StartInfo.FileName = @"P3Tools\\unfself.exe";
|
||||
unmakefself.StartInfo.Arguments = "\"" + self + "\" \"" + elf + "\"";
|
||||
unmakefself.StartInfo.UseShellExecute = false;
|
||||
unmakefself.StartInfo.RedirectStandardOutput = true;
|
||||
unmakefself.StartInfo.RedirectStandardError = true;
|
||||
unmakefself.StartInfo.CreateNoWindow = true;
|
||||
if (handler != null) unmakefself.OutputDataReceived += handler;
|
||||
if (handler != null) unmakefself.ErrorDataReceived += handler;
|
||||
unmakefself.Start();
|
||||
unmakefself.WaitForExit();
|
||||
}
|
||||
File.Delete(self);
|
||||
}
|
||||
public static void MakeFself(string elf, string self, DataReceivedEventHandler handler = null)
|
||||
{
|
||||
using (Process makefself = new Process())
|
||||
{
|
||||
makefself.StartInfo.FileName = @"P3Tools\\make_fself_npdrm.exe";
|
||||
makefself.StartInfo.Arguments = "\""+elf + "\" \"" + self+"\"";
|
||||
makefself.StartInfo.UseShellExecute = false;
|
||||
makefself.StartInfo.RedirectStandardOutput = true;
|
||||
makefself.StartInfo.RedirectStandardError = true;
|
||||
makefself.StartInfo.CreateNoWindow = true;
|
||||
if (handler != null) makefself.OutputDataReceived += handler;
|
||||
if (handler != null) makefself.ErrorDataReceived += handler;
|
||||
makefself.Start();
|
||||
makefself.WaitForExit();
|
||||
}
|
||||
File.Delete(elf);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,25 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace GayMaker_PS3
|
||||
{
|
||||
static class Program
|
||||
{
|
||||
public static GayMakerPS3 GMS;
|
||||
/// <summary>
|
||||
/// The main entry point for the application.
|
||||
/// </summary>
|
||||
[STAThread]
|
||||
static void Main()
|
||||
{
|
||||
Application.EnableVisualStyles();
|
||||
Application.SetCompatibleTextRenderingDefault(false);
|
||||
GMS = new GayMakerPS3();
|
||||
Application.Run(GMS);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,36 @@
|
|||
using System.Reflection;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
// General Information about an assembly is controlled through the following
|
||||
// set of attributes. Change these attribute values to modify the information
|
||||
// associated with an assembly.
|
||||
[assembly: AssemblyTitle("GayMaker-Studio")]
|
||||
[assembly: AssemblyDescription("")]
|
||||
[assembly: AssemblyConfiguration("")]
|
||||
[assembly: AssemblyCompany("")]
|
||||
[assembly: AssemblyProduct("GayMaker-Studio")]
|
||||
[assembly: AssemblyCopyright("Copyright © 2019")]
|
||||
[assembly: AssemblyTrademark("")]
|
||||
[assembly: AssemblyCulture("")]
|
||||
|
||||
// Setting ComVisible to false makes the types in this assembly not visible
|
||||
// to COM components. If you need to access a type in this assembly from
|
||||
// COM, set the ComVisible attribute to true on that type.
|
||||
[assembly: ComVisible(false)]
|
||||
|
||||
// The following GUID is for the ID of the typelib if this project is exposed to COM
|
||||
[assembly: Guid("a574f9f8-d3b2-4ef6-80de-5d546c43b57d")]
|
||||
|
||||
// Version information for an assembly consists of the following four values:
|
||||
//
|
||||
// Major Version
|
||||
// Minor Version
|
||||
// Build Number
|
||||
// Revision
|
||||
//
|
||||
// You can specify all the values or you can default the Build and Revision Numbers
|
||||
// by using the '*' as shown below:
|
||||
// [assembly: AssemblyVersion("1.0.*")]
|
||||
[assembly: AssemblyVersion("1.0.0.0")]
|
||||
[assembly: AssemblyFileVersion("1.0.0.0")]
|
|
@ -0,0 +1,103 @@
|
|||
//------------------------------------------------------------------------------
|
||||
// <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 GayMaker_PS3.Properties {
|
||||
using System;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// A strongly-typed resource class, for looking up localized strings, etc.
|
||||
/// </summary>
|
||||
// This class was auto-generated by the StronglyTypedResourceBuilder
|
||||
// class via a tool like ResGen or Visual Studio.
|
||||
// To add or remove a member, edit your .ResX file then rerun ResGen
|
||||
// with the /str option, or rebuild your VS project.
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.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>
|
||||
/// Returns the cached ResourceManager instance used by this class.
|
||||
/// </summary>
|
||||
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||
internal static global::System.Resources.ResourceManager ResourceManager {
|
||||
get {
|
||||
if (object.ReferenceEquals(resourceMan, null)) {
|
||||
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("GayMaker_PS3.Properties.Resources", typeof(Resources).Assembly);
|
||||
resourceMan = temp;
|
||||
}
|
||||
return resourceMan;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Overrides the current thread's CurrentUICulture property for all
|
||||
/// resource lookups using this strongly typed resource class.
|
||||
/// </summary>
|
||||
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||
internal static global::System.Globalization.CultureInfo Culture {
|
||||
get {
|
||||
return resourceCulture;
|
||||
}
|
||||
set {
|
||||
resourceCulture = value;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
||||
/// </summary>
|
||||
internal static System.Drawing.Bitmap folderIcon {
|
||||
get {
|
||||
object obj = ResourceManager.GetObject("folderIcon", resourceCulture);
|
||||
return ((System.Drawing.Bitmap)(obj));
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
||||
/// </summary>
|
||||
internal static System.Drawing.Bitmap gameIcon {
|
||||
get {
|
||||
object obj = ResourceManager.GetObject("gameIcon", resourceCulture);
|
||||
return ((System.Drawing.Bitmap)(obj));
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
||||
/// </summary>
|
||||
internal static System.Drawing.Bitmap PIC1 {
|
||||
get {
|
||||
object obj = ResourceManager.GetObject("PIC1", resourceCulture);
|
||||
return ((System.Drawing.Bitmap)(obj));
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
||||
/// </summary>
|
||||
internal static System.Drawing.Bitmap ps3Logo {
|
||||
get {
|
||||
object obj = ResourceManager.GetObject("ps3Logo", resourceCulture);
|
||||
return ((System.Drawing.Bitmap)(obj));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,133 @@
|
|||
<?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.Runtime.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:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<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" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</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" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</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=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
||||
<data name="ps3Logo" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\ps3Logo.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="folderIcon" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\folderIcon.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="gameIcon" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\gameIcon.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="PIC1" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\PIC1.PNG;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
</root>
|
|
@ -0,0 +1,26 @@
|
|||
//------------------------------------------------------------------------------
|
||||
// <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 GayMaker_PS3.Properties {
|
||||
|
||||
|
||||
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "17.8.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;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -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>
|
Binary file not shown.
After Width: | Height: | Size: 62 KiB |
Binary file not shown.
After Width: | Height: | Size: 1.6 KiB |
Binary file not shown.
After Width: | Height: | Size: 2.1 KiB |
Binary file not shown.
After Width: | Height: | Size: 1.4 KiB |
|
@ -0,0 +1,255 @@
|
|||
using Li.Utilities;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
|
||||
// A Sfo Parser Written by Li
|
||||
// Because all the others are overly-complicated for no reason!
|
||||
// MIT Licensed.
|
||||
|
||||
namespace GayMaker_PS3
|
||||
{
|
||||
|
||||
public class Sfo
|
||||
{
|
||||
|
||||
private struct SfoEntry
|
||||
{
|
||||
internal string keyName;
|
||||
internal byte type;
|
||||
internal UInt32 valueSize;
|
||||
internal UInt32 totalSize;
|
||||
internal byte align;
|
||||
internal object value;
|
||||
}
|
||||
|
||||
const int SFO_MAGIC = 0x46535000;
|
||||
const byte PSF_TYPE_BIN = 0;
|
||||
const byte PSF_TYPE_STR = 2;
|
||||
const byte PSF_TYPE_VAL = 4;
|
||||
|
||||
private Dictionary<string, SfoEntry> sfoEntries;
|
||||
public Object this[string index]
|
||||
{
|
||||
get
|
||||
{
|
||||
if (sfoEntries.ContainsKey(index))
|
||||
return sfoEntries[index].value;
|
||||
else
|
||||
return null;
|
||||
}
|
||||
set
|
||||
{
|
||||
if (sfoEntries.ContainsKey(index))
|
||||
{
|
||||
SfoEntry sfoEnt = sfoEntries[index];
|
||||
sfoEnt.value = value;
|
||||
|
||||
// update sz
|
||||
sfoEnt.valueSize = getObjectSz(sfoEnt.value);
|
||||
|
||||
if (sfoEnt.valueSize > sfoEnt.totalSize)
|
||||
sfoEnt.totalSize = Convert.ToUInt32(MathUtil.CalculatePaddingAmount(Convert.ToInt32(sfoEnt.valueSize), sfoEnt.align));
|
||||
|
||||
// update type
|
||||
sfoEnt.type = getPsfType(sfoEnt.value);
|
||||
|
||||
sfoEntries[index] = sfoEnt;
|
||||
}
|
||||
else
|
||||
{
|
||||
UInt32 sz = getObjectSz(value);
|
||||
int alg = MathUtil.CalculatePaddingAmount(Convert.ToInt32(sz), 4);
|
||||
|
||||
AddKey(index, value, Convert.ToUInt32(sz + alg), 4);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void AddKey(string keyName, object value, UInt32 totalSize, byte align = 4)
|
||||
{
|
||||
SfoEntry ent = new SfoEntry();
|
||||
ent.keyName = keyName;
|
||||
ent.type = getPsfType(value);
|
||||
ent.valueSize = getObjectSz(value);
|
||||
ent.totalSize = Convert.ToUInt32(totalSize + MathUtil.CalculatePaddingAmount(Convert.ToInt32(totalSize), align));
|
||||
ent.align = align;
|
||||
ent.value = value;
|
||||
sfoEntries[ent.keyName] = ent;
|
||||
}
|
||||
|
||||
public Sfo()
|
||||
{
|
||||
sfoEntries = new Dictionary<string, SfoEntry>();
|
||||
}
|
||||
|
||||
|
||||
private static UInt32 getObjectSz(Object obj)
|
||||
{
|
||||
if (obj is Int32) return 4;
|
||||
if (obj is UInt32) return 4;
|
||||
if (obj is String) return Convert.ToUInt32((obj as String).Length+1);
|
||||
if (obj is Byte[]) return Convert.ToUInt32((obj as Byte[]).Length);
|
||||
throw new Exception("Object is of unsupported type: " + obj.GetType());
|
||||
}
|
||||
|
||||
private static byte getPsfType(Object obj)
|
||||
{
|
||||
if (obj is Int32 || obj is UInt32) return PSF_TYPE_VAL;
|
||||
if (obj is String) return PSF_TYPE_STR;
|
||||
if (obj is Byte[]) return PSF_TYPE_BIN;
|
||||
throw new Exception("Object is of unsupported type: " + obj.GetType());
|
||||
}
|
||||
|
||||
public byte[] WriteSfo(UInt32 version = 0x101, Byte align = 0x4)
|
||||
{
|
||||
using (MemoryStream sfoStream = new MemoryStream())
|
||||
{
|
||||
WriteSfo(sfoStream, version, align);
|
||||
byte[] sfoBytes = sfoStream.ToArray();
|
||||
return sfoBytes;
|
||||
}
|
||||
}
|
||||
public void WriteSfo(Stream SfoStream, UInt32 version=0x101, Byte align=0x4)
|
||||
{
|
||||
using(MemoryStream sfoStream = new MemoryStream())
|
||||
{
|
||||
StreamUtil sfoUtil = new StreamUtil(sfoStream);
|
||||
|
||||
sfoUtil.WriteUInt32(SFO_MAGIC);
|
||||
sfoUtil.WriteUInt32(version);
|
||||
|
||||
sfoUtil.WriteUInt32(0xFFFFFFFF); // key offset
|
||||
sfoUtil.WriteUInt32(0xFFFFFFFF); // value offset
|
||||
// (will fill these in after the file is created)
|
||||
|
||||
sfoUtil.WriteInt32(sfoEntries.Count);
|
||||
|
||||
using (MemoryStream keyTable = new MemoryStream())
|
||||
{
|
||||
StreamUtil keyUtils = new StreamUtil(keyTable);
|
||||
using (MemoryStream valueTable = new MemoryStream())
|
||||
{
|
||||
StreamUtil valueUtils = new StreamUtil(valueTable);
|
||||
foreach (SfoEntry entry in sfoEntries.Values)
|
||||
{
|
||||
// write name
|
||||
sfoUtil.WriteUInt16(Convert.ToUInt16(keyTable.Position));
|
||||
keyUtils.WriteCStr(entry.keyName);
|
||||
|
||||
|
||||
|
||||
// write entry
|
||||
|
||||
sfoUtil.WriteByte(align); // align
|
||||
sfoUtil.WriteByte(entry.type); // type
|
||||
sfoUtil.WriteUInt32(entry.valueSize); // valueSize
|
||||
sfoUtil.WriteUInt32(entry.totalSize); // totalSize
|
||||
|
||||
// write data
|
||||
sfoUtil.WriteUInt32(Convert.ToUInt32(valueTable.Position)); // dataOffset
|
||||
|
||||
switch (entry.type)
|
||||
{
|
||||
case PSF_TYPE_VAL:
|
||||
valueUtils.WriteUInt32(Convert.ToUInt32(entry.value));
|
||||
valueUtils.WritePadding(0x00, Convert.ToInt32(entry.totalSize - entry.valueSize));
|
||||
break;
|
||||
case PSF_TYPE_STR:
|
||||
valueUtils.WriteStrWithPadding(entry.value as String, 0x00, Convert.ToInt32(entry.totalSize));
|
||||
break;
|
||||
case PSF_TYPE_BIN:
|
||||
valueUtils.WriteBytesWithPadding(entry.value as Byte[], 0x00, Convert.ToInt32(entry.totalSize));
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
keyUtils.AlignTo(0x00, align);
|
||||
UInt32 keyOffset = Convert.ToUInt32(sfoStream.Position);
|
||||
keyTable.Seek(0x00, SeekOrigin.Begin);
|
||||
keyTable.CopyTo(sfoStream);
|
||||
|
||||
UInt32 valueOffset = Convert.ToUInt32(sfoStream.Position);
|
||||
valueTable.Seek(0x00, SeekOrigin.Begin);
|
||||
valueTable.CopyTo(sfoStream);
|
||||
|
||||
sfoStream.Seek(0x8, SeekOrigin.Begin);
|
||||
sfoUtil.WriteUInt32(keyOffset); // key offset
|
||||
sfoUtil.WriteUInt32(valueOffset); // value offset
|
||||
}
|
||||
}
|
||||
|
||||
sfoStream.Seek(0x0, SeekOrigin.Begin);
|
||||
sfoStream.CopyTo(SfoStream);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public static Sfo ReadSfo(Stream SfoStream)
|
||||
{
|
||||
Sfo sfoFile = new Sfo();
|
||||
StreamUtil DataUtils = new StreamUtil(SfoStream);
|
||||
|
||||
// Read Sfo Header
|
||||
UInt32 magic = DataUtils.ReadUInt32();
|
||||
UInt32 version = DataUtils.ReadUInt32();
|
||||
UInt32 keyOffset = DataUtils.ReadUInt32();
|
||||
UInt32 valueOffset = DataUtils.ReadUInt32();
|
||||
UInt32 count = DataUtils.ReadUInt32();
|
||||
|
||||
if (magic == SFO_MAGIC) //\x00PSF
|
||||
{
|
||||
for(int i = 0; i < count; i++)
|
||||
{
|
||||
SfoEntry entry = new SfoEntry();
|
||||
|
||||
UInt16 nameOffset = DataUtils.ReadUInt16();
|
||||
entry.align = DataUtils.ReadByte();
|
||||
entry.type = DataUtils.ReadByte();
|
||||
entry.valueSize = DataUtils.ReadUInt32();
|
||||
entry.totalSize = DataUtils.ReadUInt32();
|
||||
UInt32 dataOffset = DataUtils.ReadUInt32();
|
||||
|
||||
int keyLocation = Convert.ToInt32(keyOffset + nameOffset);
|
||||
entry.keyName = DataUtils.ReadStringAt(keyLocation);
|
||||
int valueLocation = Convert.ToInt32(valueOffset + dataOffset);
|
||||
|
||||
|
||||
switch (entry.type)
|
||||
{
|
||||
case PSF_TYPE_STR:
|
||||
entry.value = DataUtils.ReadStringAt(valueLocation);
|
||||
break;
|
||||
|
||||
case PSF_TYPE_VAL:
|
||||
entry.value = DataUtils.ReadUInt32At(valueLocation);
|
||||
break;
|
||||
|
||||
case PSF_TYPE_BIN:
|
||||
entry.value = DataUtils.ReadBytesAt(valueLocation, Convert.ToInt32(entry.valueSize));
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
sfoFile.sfoEntries[entry.keyName] = entry;
|
||||
}
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
throw new InvalidDataException("Sfo Magic is Invalid.");
|
||||
}
|
||||
|
||||
return sfoFile;
|
||||
}
|
||||
|
||||
public static Sfo ReadSfo(byte[] Sfo)
|
||||
{
|
||||
using (MemoryStream SfoStream = new MemoryStream(Sfo))
|
||||
{
|
||||
return ReadSfo(SfoStream);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,150 @@
|
|||
namespace GayMaker_PS3
|
||||
{
|
||||
partial class VersionManager
|
||||
{
|
||||
/// <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(VersionManager));
|
||||
this.label1 = new System.Windows.Forms.Label();
|
||||
this.DownloadList = new System.Windows.Forms.ListBox();
|
||||
this.DownloadProgress = new System.Windows.Forms.ProgressBar();
|
||||
this.StatusText = new System.Windows.Forms.Label();
|
||||
this.DownloadButton = new System.Windows.Forms.Button();
|
||||
this.label2 = new System.Windows.Forms.Label();
|
||||
this.DownloadedList = new System.Windows.Forms.ListBox();
|
||||
this.DeleteVersion = new System.Windows.Forms.Button();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// label1
|
||||
//
|
||||
this.label1.AutoSize = true;
|
||||
this.label1.Location = new System.Drawing.Point(12, 9);
|
||||
this.label1.Name = "label1";
|
||||
this.label1.Size = new System.Drawing.Size(109, 13);
|
||||
this.label1.TabIndex = 0;
|
||||
this.label1.Text = "Available Downloads:";
|
||||
//
|
||||
// DownloadList
|
||||
//
|
||||
this.DownloadList.FormattingEnabled = true;
|
||||
this.DownloadList.Location = new System.Drawing.Point(12, 25);
|
||||
this.DownloadList.Name = "DownloadList";
|
||||
this.DownloadList.Size = new System.Drawing.Size(461, 186);
|
||||
this.DownloadList.TabIndex = 1;
|
||||
//
|
||||
// DownloadProgress
|
||||
//
|
||||
this.DownloadProgress.Location = new System.Drawing.Point(12, 262);
|
||||
this.DownloadProgress.Name = "DownloadProgress";
|
||||
this.DownloadProgress.Size = new System.Drawing.Size(461, 23);
|
||||
this.DownloadProgress.TabIndex = 2;
|
||||
//
|
||||
// StatusText
|
||||
//
|
||||
this.StatusText.AutoSize = true;
|
||||
this.StatusText.Location = new System.Drawing.Point(9, 246);
|
||||
this.StatusText.Name = "StatusText";
|
||||
this.StatusText.Size = new System.Drawing.Size(52, 13);
|
||||
this.StatusText.TabIndex = 3;
|
||||
this.StatusText.Text = "Waiting...";
|
||||
//
|
||||
// DownloadButton
|
||||
//
|
||||
this.DownloadButton.Location = new System.Drawing.Point(12, 220);
|
||||
this.DownloadButton.Name = "DownloadButton";
|
||||
this.DownloadButton.Size = new System.Drawing.Size(461, 23);
|
||||
this.DownloadButton.TabIndex = 4;
|
||||
this.DownloadButton.Text = "Download This Version";
|
||||
this.DownloadButton.UseVisualStyleBackColor = true;
|
||||
this.DownloadButton.Click += new System.EventHandler(this.DownloadButton_Click);
|
||||
//
|
||||
// label2
|
||||
//
|
||||
this.label2.AutoSize = true;
|
||||
this.label2.Location = new System.Drawing.Point(12, 288);
|
||||
this.label2.Name = "label2";
|
||||
this.label2.Size = new System.Drawing.Size(110, 13);
|
||||
this.label2.TabIndex = 5;
|
||||
this.label2.Text = "Allready Downloaded:";
|
||||
//
|
||||
// DownloadedList
|
||||
//
|
||||
this.DownloadedList.FormattingEnabled = true;
|
||||
this.DownloadedList.Items.AddRange(new object[] {
|
||||
"1.4.9999"});
|
||||
this.DownloadedList.Location = new System.Drawing.Point(12, 304);
|
||||
this.DownloadedList.Name = "DownloadedList";
|
||||
this.DownloadedList.Size = new System.Drawing.Size(461, 199);
|
||||
this.DownloadedList.TabIndex = 6;
|
||||
//
|
||||
// DeleteVersion
|
||||
//
|
||||
this.DeleteVersion.Location = new System.Drawing.Point(12, 509);
|
||||
this.DeleteVersion.Name = "DeleteVersion";
|
||||
this.DeleteVersion.Size = new System.Drawing.Size(461, 23);
|
||||
this.DeleteVersion.TabIndex = 7;
|
||||
this.DeleteVersion.Text = "Delete This Version";
|
||||
this.DeleteVersion.UseVisualStyleBackColor = true;
|
||||
this.DeleteVersion.Click += new System.EventHandler(this.DeleteVersion_Click);
|
||||
//
|
||||
// VersionManager
|
||||
//
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
|
||||
this.ClientSize = new System.Drawing.Size(485, 544);
|
||||
this.Controls.Add(this.DeleteVersion);
|
||||
this.Controls.Add(this.DownloadedList);
|
||||
this.Controls.Add(this.label2);
|
||||
this.Controls.Add(this.DownloadButton);
|
||||
this.Controls.Add(this.StatusText);
|
||||
this.Controls.Add(this.DownloadProgress);
|
||||
this.Controls.Add(this.DownloadList);
|
||||
this.Controls.Add(this.label1);
|
||||
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
|
||||
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
|
||||
this.MaximizeBox = false;
|
||||
this.MinimizeBox = false;
|
||||
this.Name = "VersionManager";
|
||||
this.ShowInTaskbar = false;
|
||||
this.Text = "GameMaker Studio Version Manager";
|
||||
this.Load += new System.EventHandler(this.VersionManager_Load);
|
||||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private System.Windows.Forms.Label label1;
|
||||
private System.Windows.Forms.ListBox DownloadList;
|
||||
private System.Windows.Forms.ProgressBar DownloadProgress;
|
||||
private System.Windows.Forms.Label StatusText;
|
||||
private System.Windows.Forms.Button DownloadButton;
|
||||
private System.Windows.Forms.Label label2;
|
||||
private System.Windows.Forms.ListBox DownloadedList;
|
||||
private System.Windows.Forms.Button DeleteVersion;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,327 @@
|
|||
using GMTools;
|
||||
using Ionic.Zip;
|
||||
using System;
|
||||
using System.Drawing;
|
||||
using System.IO;
|
||||
using System.Net;
|
||||
using System.Net.Cache;
|
||||
using System.Threading;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace GayMaker_PS3
|
||||
{
|
||||
|
||||
public partial class VersionManager : Form
|
||||
{
|
||||
//private const int NUMBER_OF_CDN_URLS = 4; //Uncomment for GMS2
|
||||
private const int NUMBER_OF_CDN_URLS = 2;
|
||||
|
||||
private string currentDownload = "";
|
||||
|
||||
private void CopyDir(string source, string target)
|
||||
{
|
||||
|
||||
if (!Directory.Exists(target)) Directory.CreateDirectory(target);
|
||||
string[] sysEntries = Directory.GetFileSystemEntries(source);
|
||||
|
||||
foreach (string sysEntry in sysEntries)
|
||||
{
|
||||
string fileName = Path.GetFileName(sysEntry);
|
||||
string targetPath = Path.Combine(target, fileName);
|
||||
if (Directory.Exists(sysEntry))
|
||||
CopyDir(sysEntry, targetPath);
|
||||
else
|
||||
{
|
||||
File.Copy(sysEntry, targetPath, true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private string getUrlFileName(string url)
|
||||
{
|
||||
string filename = Path.GetFileName(new Uri(url).LocalPath);
|
||||
if (!Path.HasExtension(filename))
|
||||
filename = Path.ChangeExtension(filename, ".zip");
|
||||
return filename;
|
||||
}
|
||||
|
||||
public VersionManager()
|
||||
{
|
||||
//Bypass Windows DPI Scaling
|
||||
Font = new Font(Font.Name, 8.25f * 96f / CreateGraphics().DpiX, Font.Style, Font.Unit, Font.GdiCharSet, Font.GdiVerticalFont);
|
||||
InitializeComponent();
|
||||
}
|
||||
|
||||
private void VersionManager_Load(object sender, EventArgs e)
|
||||
{
|
||||
this.Owner = Program.GMS;
|
||||
Directory.CreateDirectory(@"versions");
|
||||
|
||||
for (int cdnIndex = 1; cdnIndex <= NUMBER_OF_CDN_URLS; cdnIndex++)
|
||||
{
|
||||
Thread downloadThread = new Thread(() =>
|
||||
{
|
||||
CDN.UseCDN(CDNUrls.FromIndex(cdnIndex));
|
||||
});
|
||||
|
||||
downloadThread.Start();
|
||||
|
||||
while (downloadThread.IsAlive)
|
||||
Application.DoEvents();
|
||||
|
||||
|
||||
foreach (String Version in CDN.GetVersions("ps3"))
|
||||
{
|
||||
if (Version != "1.4.9999" || DownloadList.Items.Contains(Version))
|
||||
DownloadList.Items.Add(Version);
|
||||
}
|
||||
}
|
||||
|
||||
foreach (String dir in Directory.GetDirectories(@"versions"))
|
||||
{
|
||||
DownloadedList.Items.Add(Path.GetFileName(dir));
|
||||
DownloadList.Items.Remove(Path.GetFileName(dir));
|
||||
}
|
||||
}
|
||||
|
||||
private void startDownload(string URL, string path)
|
||||
{
|
||||
currentDownload = getUrlFileName(URL);
|
||||
DownloadProgress.Value = 0;
|
||||
DownloadProgress.Style = ProgressBarStyle.Continuous;
|
||||
|
||||
|
||||
WebClient wc = new WebClient();
|
||||
wc.CachePolicy = new RequestCachePolicy(RequestCacheLevel.NoCacheNoStore);
|
||||
wc.Dispose();
|
||||
|
||||
WebClient client = new WebClient();
|
||||
client.Headers.Add("pragma", "no-cache");
|
||||
|
||||
|
||||
client.DownloadProgressChanged += new DownloadProgressChangedEventHandler(client_DownloadProgressChanged);
|
||||
client.DownloadFileAsync(new Uri(URL), path);
|
||||
|
||||
while (client.IsBusy)
|
||||
Application.DoEvents();
|
||||
|
||||
StatusText.Text = "Waiting...";
|
||||
DownloadProgress.Value = 0;
|
||||
DownloadProgress.Style = ProgressBarStyle.Continuous;
|
||||
}
|
||||
|
||||
private void extractFile(string zipfile, string path, string password = "")
|
||||
{
|
||||
|
||||
DownloadProgress.Style = ProgressBarStyle.Marquee;
|
||||
Thread extractThread = new Thread(() =>
|
||||
{
|
||||
|
||||
if (Directory.Exists(path))
|
||||
{
|
||||
while (true)
|
||||
{
|
||||
try
|
||||
{
|
||||
Directory.Delete(path, true);
|
||||
}
|
||||
catch (Exception) { };
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Thread.CurrentThread.IsBackground = true;
|
||||
Invoke((Action)delegate { StatusText.Text = "Extracting: " + Path.GetFileName(zipfile); });
|
||||
|
||||
|
||||
using (ZipFile archive = new ZipFile(zipfile))
|
||||
{
|
||||
archive.Password = password;
|
||||
archive.Encryption = EncryptionAlgorithm.PkzipWeak;
|
||||
archive.ExtractAll(path);
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
extractThread.Start();
|
||||
|
||||
while (extractThread.IsAlive)
|
||||
Application.DoEvents();
|
||||
|
||||
StatusText.Text = "Waiting...";
|
||||
DownloadProgress.Value = 0;
|
||||
DownloadProgress.Style = ProgressBarStyle.Continuous;
|
||||
|
||||
|
||||
File.Delete(zipfile);
|
||||
}
|
||||
|
||||
|
||||
private void client_DownloadProgressChanged(object sender, DownloadProgressChangedEventArgs e)
|
||||
{
|
||||
DownloadProgress.Value = e.ProgressPercentage;
|
||||
StatusText.Text = "Downloading: "+ currentDownload + " " + e.ProgressPercentage + "% (" + e.BytesReceived + "b / " + e.TotalBytesToReceive + "b)";
|
||||
}
|
||||
|
||||
private void DownloadButton_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (DownloadList.SelectedIndex <= -1) { return; }
|
||||
DownloadList.Enabled = false;
|
||||
DownloadButton.Enabled = false;
|
||||
ControlBox = false;
|
||||
|
||||
string version = DownloadList.SelectedItem.ToString();
|
||||
|
||||
for (int cdnIndex = 1; cdnIndex <= NUMBER_OF_CDN_URLS; cdnIndex++)
|
||||
{
|
||||
Thread downloadThread = new Thread(() =>
|
||||
{
|
||||
CDN.UseCDN(CDNUrls.FromIndex(cdnIndex));
|
||||
});
|
||||
|
||||
downloadThread.Start();
|
||||
|
||||
while (downloadThread.IsAlive)
|
||||
Application.DoEvents();
|
||||
|
||||
string ps3 = CDN.GetModuleForVersion(version, "ps3");
|
||||
if (ps3 != "NF")
|
||||
{
|
||||
string ps3Filename = getUrlFileName(ps3);
|
||||
string ps3Password = CDN.GetPassword(ps3Filename);
|
||||
|
||||
string gamemakerUrl = CDN.GetModuleForVersion(version, "original");
|
||||
string gamemakerFilename = getUrlFileName(gamemakerUrl);
|
||||
string gamemakerPassword = CDN.GetPassword(gamemakerFilename);
|
||||
|
||||
startDownload(ps3, ps3Filename);
|
||||
extractFile(ps3Filename, @"_ps3", ps3Password);
|
||||
|
||||
startDownload(gamemakerUrl, gamemakerFilename);
|
||||
extractFile(gamemakerFilename, @"_gamemaker", gamemakerPassword);
|
||||
|
||||
DownloadProgress.Style = ProgressBarStyle.Marquee;
|
||||
StatusText.Text = "Copying Files...";
|
||||
Application.DoEvents();
|
||||
|
||||
Thread copyThread = new Thread(() =>
|
||||
{
|
||||
|
||||
Directory.CreateDirectory(@"versions\\" + version + "\\Runner");
|
||||
Directory.CreateDirectory(@"versions\\" + version + "\\Shaders");
|
||||
|
||||
try
|
||||
{
|
||||
File.Copy(@"_gamemaker\\GMAssetCompiler.exe", @"versions\\" + version + "\\GMAssetCompiler.exe", true);
|
||||
File.Copy(@"_gamemaker\\ffmpeg.exe", @"versions\\" + version + "\\ffmpeg.exe", true);
|
||||
|
||||
File.Copy(@"_gamemaker\\BouncyCastle.Crypto.dll", @"versions\\" + version + "\\BouncyCastle.Crypto.dll", true);
|
||||
File.Copy(@"_gamemaker\\spine-csharp.dll", @"versions\\" + version + "\\spine-csharp.dll", true);
|
||||
File.Copy(@"_gamemaker\\SharpCompress.dll", @"versions\\" + version + "\\SharpCompress.dll", true);
|
||||
File.Copy(@"_gamemaker\\Ionic.Zip.Reduced.dll", @"versions\\" + version + "\\Ionic.Zip.Reduced.dll", true);
|
||||
File.Copy(@"_gamemaker\\Newtonsoft.Json.dll", @"versions\\" + version + "\\Newtonsoft.Json.dll", true);
|
||||
}
|
||||
catch (Exception) { };
|
||||
|
||||
|
||||
|
||||
CopyDir(@"Runner", @"versions\\" + version + "\\Runner");
|
||||
CopyDir(@"_gamemaker\\Shaders", @"versions\\" + version + "\\Shaders");
|
||||
|
||||
File.Delete(@"versions\\" + version + "\\Runner\\eboot.bin");
|
||||
|
||||
try
|
||||
{
|
||||
|
||||
File.Copy(@"_ps3\\PS3\\CG_PS3_PShaderCommon.shader", @"versions\\" + version + "\\Shaders\\CG_PS3_PShaderCommon.shader", true);
|
||||
File.Copy(@"_ps3\\PS3\\CG_PS3_VShaderCommon.shader", @"versions\\" + version + "\\Shaders\\CG_PS3_VShaderCommon.shader", true);
|
||||
File.Copy(@"_ps3\\PS3\\HLSL_to_CG_PS3.h", @"versions\\" + version + "\\Shaders\\HLSL_to_CG_PS3.h", true);
|
||||
File.Copy(@"_ps3\\PS3\\snames", @"versions\\" + version + "\\Shaders\\snames", true);
|
||||
File.Copy(@"_ps3\\PS3\\hnames", @"versions\\" + version + "\\Shaders\\hnames", true);
|
||||
}
|
||||
catch (Exception){ };
|
||||
|
||||
});
|
||||
copyThread.Start();
|
||||
|
||||
while (copyThread.IsAlive)
|
||||
Application.DoEvents();
|
||||
|
||||
|
||||
DownloadProgress.Style = ProgressBarStyle.Marquee;
|
||||
StatusText.Text = "Creating EBOOT.BIN ...";
|
||||
Application.DoEvents();
|
||||
|
||||
P3Tools.UnmakeFself(@"_ps3\\PS3\\PS3Runner.self", @"_ps3\\PS3\\PS3Runner.elf");
|
||||
P3Tools.RemoveEdataChk(@"_ps3\\PS3\PS3Runner.elf");
|
||||
P3Tools.MakeFself(@"_ps3\\PS3\PS3Runner.elf", @"versions\\" + version + "\\Runner\\USRDIR\\EBOOT.BIN");
|
||||
|
||||
DownloadProgress.Style = ProgressBarStyle.Marquee;
|
||||
StatusText.Text = "Deleting Unused Files...";
|
||||
Application.DoEvents();
|
||||
|
||||
Thread deleteThread = new Thread(() =>
|
||||
{
|
||||
while(true)
|
||||
{
|
||||
try
|
||||
{
|
||||
Directory.Delete(@"_ps3", true);
|
||||
Directory.Delete(@"_gamemaker", true);
|
||||
}
|
||||
catch (Exception) { };
|
||||
break;
|
||||
}
|
||||
});
|
||||
|
||||
deleteThread.Start();
|
||||
|
||||
while (deleteThread.IsAlive)
|
||||
Application.DoEvents();
|
||||
|
||||
DownloadProgress.Style = ProgressBarStyle.Continuous;
|
||||
DownloadProgress.Value = 0;
|
||||
StatusText.Text = "Waiting...";
|
||||
|
||||
DownloadedList.Items.Add(version);
|
||||
DownloadList.Items.Remove(version);
|
||||
|
||||
DownloadList.Enabled = true;
|
||||
DownloadButton.Enabled = true;
|
||||
ControlBox = true;
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void DeleteVersion_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (DownloadedList.SelectedIndex == -1) { return; }
|
||||
string toRemove = DownloadedList.SelectedItem.ToString();
|
||||
if (toRemove == "1.4.9999")
|
||||
{
|
||||
MessageBox.Show("Cannot delete builtin 1.4.9999 version!", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (Directory.Exists(@"versions\\" + toRemove))
|
||||
{
|
||||
while (true)
|
||||
{
|
||||
try
|
||||
{
|
||||
Directory.Delete(@"versions\\" + toRemove, true);
|
||||
}
|
||||
catch (Exception) { };
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
DownloadedList.Items.Remove(toRemove);
|
||||
DownloadList.Items.Add(toRemove);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,3 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<configuration>
|
||||
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.8"/></startup></configuration>
|
|
@ -0,0 +1,72 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<assemblyIdentity version="1.0.0.0" name="MyApplication.app"/>
|
||||
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
|
||||
<security>
|
||||
<requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
|
||||
<!-- UAC Manifest Options
|
||||
If you want to change the Windows User Account Control level replace the
|
||||
requestedExecutionLevel node with one of the following.
|
||||
|
||||
<requestedExecutionLevel level="asInvoker" uiAccess="false" />
|
||||
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
|
||||
<requestedExecutionLevel level="highestAvailable" uiAccess="false" />
|
||||
|
||||
Specifying requestedExecutionLevel element will disable file and registry virtualization.
|
||||
Remove this element if your application requires this virtualization for backwards
|
||||
compatibility.
|
||||
-->
|
||||
<requestedExecutionLevel level="asInvoker" uiAccess="false" />
|
||||
</requestedPrivileges>
|
||||
</security>
|
||||
</trustInfo>
|
||||
|
||||
<compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
|
||||
<application>
|
||||
<!-- A list of the Windows versions that this application has been tested on
|
||||
and is designed to work with. Uncomment the appropriate elements
|
||||
and Windows will automatically select the most compatible environment. -->
|
||||
|
||||
<!-- Windows Vista -->
|
||||
<!--<supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}" />-->
|
||||
|
||||
<!-- Windows 7 -->
|
||||
<supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}" />
|
||||
|
||||
<!-- Windows 8 -->
|
||||
<!--<supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}" />-->
|
||||
|
||||
<!-- Windows 8.1 -->
|
||||
<!--<supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}" />-->
|
||||
|
||||
<!-- Windows 10 -->
|
||||
<!--<supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}" />-->
|
||||
|
||||
</application>
|
||||
</compatibility>
|
||||
|
||||
<!-- Lie to windows and say GayMaker is GPI-Aware so that windows wont rescale my shit.. -->
|
||||
<application xmlns="urn:schemas-microsoft-com:asm.v3">
|
||||
<windowsSettings>
|
||||
<dpiAware xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">true</dpiAware>
|
||||
</windowsSettings>
|
||||
</application>
|
||||
|
||||
|
||||
<!-- Enable themes for Windows common controls and dialogs (Windows XP and later) -->
|
||||
<!--
|
||||
<dependency>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity
|
||||
type="win32"
|
||||
name="Microsoft.Windows.Common-Controls"
|
||||
version="6.0.0.0"
|
||||
processorArchitecture="*"
|
||||
publicKeyToken="6595b64144ccf1df"
|
||||
language="*"
|
||||
/>
|
||||
</dependentAssembly>
|
||||
</dependency>
|
||||
-->
|
||||
|
||||
</assembly>
|
Binary file not shown.
After Width: | Height: | Size: 176 KiB |
|
@ -0,0 +1,6 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<packages>
|
||||
<package id="BouncyCastle" version="1.8.4" targetFramework="net461" />
|
||||
<package id="DotNetZip" version="1.13.3" targetFramework="net461" />
|
||||
<package id="HtmlAgilityPack" version="1.9.2" targetFramework="net461" />
|
||||
</packages>
|
|
@ -0,0 +1,167 @@
|
|||
This software uses the LibOrbisPkg library. Copyright 2018, 2019 Maxton
|
||||
|
||||
GNU LESSER GENERAL PUBLIC LICENSE
|
||||
Version 3, 29 June 2007
|
||||
|
||||
Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this license document, but changing it is not allowed.
|
||||
|
||||
|
||||
This version of the GNU Lesser General Public License incorporates
|
||||
the terms and conditions of version 3 of the GNU General Public
|
||||
License, supplemented by the additional permissions listed below.
|
||||
|
||||
0. Additional Definitions.
|
||||
|
||||
As used herein, "this License" refers to version 3 of the GNU Lesser
|
||||
General Public License, and the "GNU GPL" refers to version 3 of the GNU
|
||||
General Public License.
|
||||
|
||||
"The Library" refers to a covered work governed by this License,
|
||||
other than an Application or a Combined Work as defined below.
|
||||
|
||||
An "Application" is any work that makes use of an interface provided
|
||||
by the Library, but which is not otherwise based on the Library.
|
||||
Defining a subclass of a class defined by the Library is deemed a mode
|
||||
of using an interface provided by the Library.
|
||||
|
||||
A "Combined Work" is a work produced by combining or linking an
|
||||
Application with the Library. The particular version of the Library
|
||||
with which the Combined Work was made is also called the "Linked
|
||||
Version".
|
||||
|
||||
The "Minimal Corresponding Source" for a Combined Work means the
|
||||
Corresponding Source for the Combined Work, excluding any source code
|
||||
for portions of the Combined Work that, considered in isolation, are
|
||||
based on the Application, and not on the Linked Version.
|
||||
|
||||
The "Corresponding Application Code" for a Combined Work means the
|
||||
object code and/or source code for the Application, including any data
|
||||
and utility programs needed for reproducing the Combined Work from the
|
||||
Application, but excluding the System Libraries of the Combined Work.
|
||||
|
||||
1. Exception to Section 3 of the GNU GPL.
|
||||
|
||||
You may convey a covered work under sections 3 and 4 of this License
|
||||
without being bound by section 3 of the GNU GPL.
|
||||
|
||||
2. Conveying Modified Versions.
|
||||
|
||||
If you modify a copy of the Library, and, in your modifications, a
|
||||
facility refers to a function or data to be supplied by an Application
|
||||
that uses the facility (other than as an argument passed when the
|
||||
facility is invoked), then you may convey a copy of the modified
|
||||
version:
|
||||
|
||||
a) under this License, provided that you make a good faith effort to
|
||||
ensure that, in the event an Application does not supply the
|
||||
function or data, the facility still operates, and performs
|
||||
whatever part of its purpose remains meaningful, or
|
||||
|
||||
b) under the GNU GPL, with none of the additional permissions of
|
||||
this License applicable to that copy.
|
||||
|
||||
3. Object Code Incorporating Material from Library Header Files.
|
||||
|
||||
The object code form of an Application may incorporate material from
|
||||
a header file that is part of the Library. You may convey such object
|
||||
code under terms of your choice, provided that, if the incorporated
|
||||
material is not limited to numerical parameters, data structure
|
||||
layouts and accessors, or small macros, inline functions and templates
|
||||
(ten or fewer lines in length), you do both of the following:
|
||||
|
||||
a) Give prominent notice with each copy of the object code that the
|
||||
Library is used in it and that the Library and its use are
|
||||
covered by this License.
|
||||
|
||||
b) Accompany the object code with a copy of the GNU GPL and this license
|
||||
document.
|
||||
|
||||
4. Combined Works.
|
||||
|
||||
You may convey a Combined Work under terms of your choice that,
|
||||
taken together, effectively do not restrict modification of the
|
||||
portions of the Library contained in the Combined Work and reverse
|
||||
engineering for debugging such modifications, if you also do each of
|
||||
the following:
|
||||
|
||||
a) Give prominent notice with each copy of the Combined Work that
|
||||
the Library is used in it and that the Library and its use are
|
||||
covered by this License.
|
||||
|
||||
b) Accompany the Combined Work with a copy of the GNU GPL and this license
|
||||
document.
|
||||
|
||||
c) For a Combined Work that displays copyright notices during
|
||||
execution, include the copyright notice for the Library among
|
||||
these notices, as well as a reference directing the user to the
|
||||
copies of the GNU GPL and this license document.
|
||||
|
||||
d) Do one of the following:
|
||||
|
||||
0) Convey the Minimal Corresponding Source under the terms of this
|
||||
License, and the Corresponding Application Code in a form
|
||||
suitable for, and under terms that permit, the user to
|
||||
recombine or relink the Application with a modified version of
|
||||
the Linked Version to produce a modified Combined Work, in the
|
||||
manner specified by section 6 of the GNU GPL for conveying
|
||||
Corresponding Source.
|
||||
|
||||
1) Use a suitable shared library mechanism for linking with the
|
||||
Library. A suitable mechanism is one that (a) uses at run time
|
||||
a copy of the Library already present on the user's computer
|
||||
system, and (b) will operate properly with a modified version
|
||||
of the Library that is interface-compatible with the Linked
|
||||
Version.
|
||||
|
||||
e) Provide Installation Information, but only if you would otherwise
|
||||
be required to provide such information under section 6 of the
|
||||
GNU GPL, and only to the extent that such information is
|
||||
necessary to install and execute a modified version of the
|
||||
Combined Work produced by recombining or relinking the
|
||||
Application with a modified version of the Linked Version. (If
|
||||
you use option 4d0, the Installation Information must accompany
|
||||
the Minimal Corresponding Source and Corresponding Application
|
||||
Code. If you use option 4d1, you must provide the Installation
|
||||
Information in the manner specified by section 6 of the GNU GPL
|
||||
for conveying Corresponding Source.)
|
||||
|
||||
5. Combined Libraries.
|
||||
|
||||
You may place library facilities that are a work based on the
|
||||
Library side by side in a single library together with other library
|
||||
facilities that are not Applications and are not covered by this
|
||||
License, and convey such a combined library under terms of your
|
||||
choice, if you do both of the following:
|
||||
|
||||
a) Accompany the combined library with a copy of the same work based
|
||||
on the Library, uncombined with any other library facilities,
|
||||
conveyed under the terms of this License.
|
||||
|
||||
b) Give prominent notice with the combined library that part of it
|
||||
is a work based on the Library, and explaining where to find the
|
||||
accompanying uncombined form of the same work.
|
||||
|
||||
6. Revised Versions of the GNU Lesser General Public License.
|
||||
|
||||
The Free Software Foundation may publish revised and/or new versions
|
||||
of the GNU Lesser General Public License from time to time. Such new
|
||||
versions will be similar in spirit to the present version, but may
|
||||
differ in detail to address new problems or concerns.
|
||||
|
||||
Each version is given a distinguishing version number. If the
|
||||
Library as you received it specifies that a certain numbered version
|
||||
of the GNU Lesser General Public License "or any later version"
|
||||
applies to it, you have the option of following the terms and
|
||||
conditions either of that published version or of any later version
|
||||
published by the Free Software Foundation. If the Library as you
|
||||
received it does not specify a version number of the GNU Lesser
|
||||
General Public License, you may choose any version of the GNU Lesser
|
||||
General Public License ever published by the Free Software Foundation.
|
||||
|
||||
If the Library as you received it specifies that a proxy can decide
|
||||
whether future versions of the GNU Lesser General Public License shall
|
||||
apply, that proxy's public statement of acceptance of any version is
|
||||
permanent authorization for you to choose that version for the
|
||||
Library.
|
Binary file not shown.
|
@ -0,0 +1,30 @@
|
|||
# The Bouncy Castle Crypto Package For C Sharp
|
||||
|
||||
The Bouncy Castle Crypto package is a C\# implementation of cryptographic algorithms and protocols, it was developed by the Legion of the Bouncy Castle, a registered Australian Charity, with a little help! The Legion, and the latest goings on with this package, can be found at [http://www.bouncycastle.org](http://www.bouncycastle.org). In addition to providing basic cryptography algorithms, the package also provides support for CMS, TSP, X.509 certificate generation and a variety of other standards such as OpenPGP.
|
||||
|
||||
The Legion also gratefully acknowledges the contributions made to this package by others (see [here](http://www.bouncycastle.org/csharp/contributors.html) for the current list). If you would like to contribute to our efforts please feel free to get in touch with us or visit our [donations page](https://www.bouncycastle.org/donate), sponsor some specific work, or purchase a support contract through [Crypto Workshop](http://www.cryptoworkshop.com).
|
||||
|
||||
Except where otherwise stated, this software is distributed under a license based on the MIT X Consortium license. To view the license, [see here](http://www.bouncycastle.org/licence.html). The OpenPGP library also includes a modified BZIP2 library which is licensed under the [Apache Software License, Version 2.0](http://www.apache.org/licenses/).
|
||||
|
||||
**Note**: this source tree is not the FIPS version of the APIs - if you are interested in our FIPS version please contact us directly at [office@bouncycastle.org](mailto:office@bouncycastle.org).
|
||||
|
||||
## Mailing Lists
|
||||
|
||||
For those who are interested, there are 2 mailing lists for participation in this project. To subscribe use the links below and include the word subscribe in the message body. (To unsubscribe, replace **subscribe** with **unsubscribe** in the message body)
|
||||
|
||||
* [announce-crypto-csharp-request@bouncycastle.org](mailto:announce-crypto-csharp-request@bouncycastle.org)
|
||||
This mailing list is for new release announcements only, general subscribers cannot post to it.
|
||||
* [dev-crypto-csharp-request@bouncycastle.org](mailto:dev-crypto-csharp-request@bouncycastle.org)
|
||||
This mailing list is for discussion of development of the package. This includes bugs, comments, requests for enhancements, questions about use or operation.
|
||||
|
||||
**NOTE:**You need to be subscribed to send mail to the above mailing list.
|
||||
|
||||
## Feedback
|
||||
|
||||
If you want to provide feedback directly to the members of **The Legion** then please use [feedback-crypto@bouncycastle.org](mailto:feedback-crypto@bouncycastle.org), if you want to help this project survive please consider [donating](https://www.bouncycastle.org/donate).
|
||||
|
||||
For bug reporting/requests you can report issues here on github, via feedback-crypto if required, and we also have a [Jira issue tracker](http://www.bouncycastle.org/jira). We will accept pull requests based on this repository as well.
|
||||
|
||||
## Finally
|
||||
|
||||
Enjoy!
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
Binary file not shown.
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Binary file not shown.
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
Binary file not shown.
1131
Packages/HtmlAgilityPack.1.9.2/lib/netstandard1.3/HtmlAgilityPack.deps.json
vendored
Normal file
1131
Packages/HtmlAgilityPack.1.9.2/lib/netstandard1.3/HtmlAgilityPack.deps.json
vendored
Normal file
File diff suppressed because it is too large
Load Diff
Binary file not shown.
Binary file not shown.
File diff suppressed because it is too large
Load Diff
1425
Packages/HtmlAgilityPack.1.9.2/lib/netstandard1.6/HtmlAgilityPack.deps.json
vendored
Normal file
1425
Packages/HtmlAgilityPack.1.9.2/lib/netstandard1.6/HtmlAgilityPack.deps.json
vendored
Normal file
File diff suppressed because it is too large
Load Diff
Binary file not shown.
Binary file not shown.
File diff suppressed because it is too large
Load Diff
996
Packages/HtmlAgilityPack.1.9.2/lib/netstandard2.0/HtmlAgilityPack.deps.json
vendored
Normal file
996
Packages/HtmlAgilityPack.1.9.2/lib/netstandard2.0/HtmlAgilityPack.deps.json
vendored
Normal file
|
@ -0,0 +1,996 @@
|
|||
{
|
||||
"runtimeTarget": {
|
||||
"name": ".NETStandard,Version=v2.0/",
|
||||
"signature": "736d1c99e55ff4bbcec0fbaa1ab3cc51b8f9be8d"
|
||||
},
|
||||
"compilationOptions": {},
|
||||
"targets": {
|
||||
".NETStandard,Version=v2.0": {},
|
||||
".NETStandard,Version=v2.0/": {
|
||||
"HtmlAgilityPack/1.9.2": {
|
||||
"dependencies": {
|
||||
"NETStandard.Library": "2.0.3",
|
||||
"System.Net.Http": "4.3.2",
|
||||
"System.Xml.XPath": "4.3.0",
|
||||
"System.Xml.XPath.XmlDocument": "4.3.0",
|
||||
"System.Xml.XmlDocument": "4.3.0"
|
||||
},
|
||||
"runtime": {
|
||||
"HtmlAgilityPack.dll": {}
|
||||
}
|
||||
},
|
||||
"Microsoft.NETCore.Platforms/1.1.0": {},
|
||||
"Microsoft.NETCore.Targets/1.1.0": {},
|
||||
"NETStandard.Library/2.0.3": {
|
||||
"dependencies": {
|
||||
"Microsoft.NETCore.Platforms": "1.1.0"
|
||||
}
|
||||
},
|
||||
"runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": {},
|
||||
"runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": {},
|
||||
"runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": {},
|
||||
"runtime.native.System/4.3.0": {
|
||||
"dependencies": {
|
||||
"Microsoft.NETCore.Platforms": "1.1.0",
|
||||
"Microsoft.NETCore.Targets": "1.1.0"
|
||||
}
|
||||
},
|
||||
"runtime.native.System.Net.Http/4.3.0": {
|
||||
"dependencies": {
|
||||
"Microsoft.NETCore.Platforms": "1.1.0",
|
||||
"Microsoft.NETCore.Targets": "1.1.0"
|
||||
}
|
||||
},
|
||||
"runtime.native.System.Security.Cryptography.Apple/4.3.0": {
|
||||
"dependencies": {
|
||||
"runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple": "4.3.0"
|
||||
}
|
||||
},
|
||||
"runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": {
|
||||
"dependencies": {
|
||||
"runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0",
|
||||
"runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0",
|
||||
"runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0",
|
||||
"runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0",
|
||||
"runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0",
|
||||
"runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0",
|
||||
"runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0",
|
||||
"runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0",
|
||||
"runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0",
|
||||
"runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0"
|
||||
}
|
||||
},
|
||||
"runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": {},
|
||||
"runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": {},
|
||||
"runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple/4.3.0": {},
|
||||
"runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": {},
|
||||
"runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": {},
|
||||
"runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": {},
|
||||
"runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": {},
|
||||
"runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": {},
|
||||
"System.Collections/4.3.0": {
|
||||
"dependencies": {
|
||||
"Microsoft.NETCore.Platforms": "1.1.0",
|
||||
"Microsoft.NETCore.Targets": "1.1.0",
|
||||
"System.Runtime": "4.3.0"
|
||||
}
|
||||
},
|
||||
"System.Collections.Concurrent/4.3.0": {
|
||||
"dependencies": {
|
||||
"System.Collections": "4.3.0",
|
||||
"System.Diagnostics.Debug": "4.3.0",
|
||||
"System.Diagnostics.Tracing": "4.3.0",
|
||||
"System.Globalization": "4.3.0",
|
||||
"System.Reflection": "4.3.0",
|
||||
"System.Resources.ResourceManager": "4.3.0",
|
||||
"System.Runtime": "4.3.0",
|
||||
"System.Runtime.Extensions": "4.3.0",
|
||||
"System.Threading": "4.3.0",
|
||||
"System.Threading.Tasks": "4.3.0"
|
||||
},
|
||||
"runtime": {
|
||||
"lib/netstandard1.3/System.Collections.Concurrent.dll": {
|
||||
"assemblyVersion": "4.0.13.0",
|
||||
"fileVersion": "4.6.24705.1"
|
||||
}
|
||||
}
|
||||
},
|
||||
"System.Diagnostics.Debug/4.3.0": {
|
||||
"dependencies": {
|
||||
"Microsoft.NETCore.Platforms": "1.1.0",
|
||||
"Microsoft.NETCore.Targets": "1.1.0",
|
||||
"System.Runtime": "4.3.0"
|
||||
}
|
||||
},
|
||||
"System.Diagnostics.DiagnosticSource/4.3.0": {
|
||||
"dependencies": {
|
||||
"System.Collections": "4.3.0",
|
||||
"System.Diagnostics.Tracing": "4.3.0",
|
||||
"System.Reflection": "4.3.0",
|
||||
"System.Runtime": "4.3.0",
|
||||
"System.Threading": "4.3.0"
|
||||
},
|
||||
"runtime": {
|
||||
"lib/netstandard1.3/System.Diagnostics.DiagnosticSource.dll": {
|
||||
"assemblyVersion": "4.0.1.0",
|
||||
"fileVersion": "4.6.24705.1"
|
||||
}
|
||||
}
|
||||
},
|
||||
"System.Diagnostics.Tracing/4.3.0": {
|
||||
"dependencies": {
|
||||
"Microsoft.NETCore.Platforms": "1.1.0",
|
||||
"Microsoft.NETCore.Targets": "1.1.0",
|
||||
"System.Runtime": "4.3.0"
|
||||
}
|
||||
},
|
||||
"System.Globalization/4.3.0": {
|
||||
"dependencies": {
|
||||
"Microsoft.NETCore.Platforms": "1.1.0",
|
||||
"Microsoft.NETCore.Targets": "1.1.0",
|
||||
"System.Runtime": "4.3.0"
|
||||
}
|
||||
},
|
||||
"System.Globalization.Calendars/4.3.0": {
|
||||
"dependencies": {
|
||||
"Microsoft.NETCore.Platforms": "1.1.0",
|
||||
"Microsoft.NETCore.Targets": "1.1.0",
|
||||
"System.Globalization": "4.3.0",
|
||||
"System.Runtime": "4.3.0"
|
||||
}
|
||||
},
|
||||
"System.Globalization.Extensions/4.3.0": {
|
||||
"dependencies": {
|
||||
"Microsoft.NETCore.Platforms": "1.1.0",
|
||||
"System.Globalization": "4.3.0",
|
||||
"System.Resources.ResourceManager": "4.3.0",
|
||||
"System.Runtime": "4.3.0",
|
||||
"System.Runtime.Extensions": "4.3.0",
|
||||
"System.Runtime.InteropServices": "4.3.0"
|
||||
}
|
||||
},
|
||||
"System.IO/4.3.0": {
|
||||
"dependencies": {
|
||||
"Microsoft.NETCore.Platforms": "1.1.0",
|
||||
"Microsoft.NETCore.Targets": "1.1.0",
|
||||
"System.Runtime": "4.3.0",
|
||||
"System.Text.Encoding": "4.3.0",
|
||||
"System.Threading.Tasks": "4.3.0"
|
||||
}
|
||||
},
|
||||
"System.IO.FileSystem/4.3.0": {
|
||||
"dependencies": {
|
||||
"Microsoft.NETCore.Platforms": "1.1.0",
|
||||
"Microsoft.NETCore.Targets": "1.1.0",
|
||||
"System.IO": "4.3.0",
|
||||
"System.IO.FileSystem.Primitives": "4.3.0",
|
||||
"System.Runtime": "4.3.0",
|
||||
"System.Runtime.Handles": "4.3.0",
|
||||
"System.Text.Encoding": "4.3.0",
|
||||
"System.Threading.Tasks": "4.3.0"
|
||||
}
|
||||
},
|
||||
"System.IO.FileSystem.Primitives/4.3.0": {
|
||||
"dependencies": {
|
||||
"System.Runtime": "4.3.0"
|
||||
},
|
||||
"runtime": {
|
||||
"lib/netstandard1.3/System.IO.FileSystem.Primitives.dll": {
|
||||
"assemblyVersion": "4.0.2.0",
|
||||
"fileVersion": "4.6.24705.1"
|
||||
}
|
||||
}
|
||||
},
|
||||
"System.Linq/4.3.0": {
|
||||
"dependencies": {
|
||||
"System.Collections": "4.3.0",
|
||||
"System.Diagnostics.Debug": "4.3.0",
|
||||
"System.Resources.ResourceManager": "4.3.0",
|
||||
"System.Runtime": "4.3.0",
|
||||
"System.Runtime.Extensions": "4.3.0"
|
||||
},
|
||||
"runtime": {
|
||||
"lib/netstandard1.6/System.Linq.dll": {
|
||||
"assemblyVersion": "4.1.1.0",
|
||||
"fileVersion": "4.6.24705.1"
|
||||
}
|
||||
}
|
||||
},
|
||||
"System.Net.Http/4.3.2": {
|
||||
"dependencies": {
|
||||
"Microsoft.NETCore.Platforms": "1.1.0",
|
||||
"System.Collections": "4.3.0",
|
||||
"System.Diagnostics.Debug": "4.3.0",
|
||||
"System.Diagnostics.DiagnosticSource": "4.3.0",
|
||||
"System.Diagnostics.Tracing": "4.3.0",
|
||||
"System.Globalization": "4.3.0",
|
||||
"System.Globalization.Extensions": "4.3.0",
|
||||
"System.IO": "4.3.0",
|
||||
"System.IO.FileSystem": "4.3.0",
|
||||
"System.Net.Primitives": "4.3.0",
|
||||
"System.Resources.ResourceManager": "4.3.0",
|
||||
"System.Runtime": "4.3.0",
|
||||
"System.Runtime.Extensions": "4.3.0",
|
||||
"System.Runtime.Handles": "4.3.0",
|
||||
"System.Runtime.InteropServices": "4.3.0",
|
||||
"System.Security.Cryptography.Algorithms": "4.3.0",
|
||||
"System.Security.Cryptography.Encoding": "4.3.0",
|
||||
"System.Security.Cryptography.OpenSsl": "4.3.0",
|
||||
"System.Security.Cryptography.Primitives": "4.3.0",
|
||||
"System.Security.Cryptography.X509Certificates": "4.3.0",
|
||||
"System.Text.Encoding": "4.3.0",
|
||||
"System.Threading": "4.3.0",
|
||||
"System.Threading.Tasks": "4.3.0",
|
||||
"runtime.native.System": "4.3.0",
|
||||
"runtime.native.System.Net.Http": "4.3.0",
|
||||
"runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0"
|
||||
}
|
||||
},
|
||||
"System.Net.Primitives/4.3.0": {
|
||||
"dependencies": {
|
||||
"Microsoft.NETCore.Platforms": "1.1.0",
|
||||
"Microsoft.NETCore.Targets": "1.1.0",
|
||||
"System.Runtime": "4.3.0",
|
||||
"System.Runtime.Handles": "4.3.0"
|
||||
}
|
||||
},
|
||||
"System.Reflection/4.3.0": {
|
||||
"dependencies": {
|
||||
"Microsoft.NETCore.Platforms": "1.1.0",
|
||||
"Microsoft.NETCore.Targets": "1.1.0",
|
||||
"System.IO": "4.3.0",
|
||||
"System.Reflection.Primitives": "4.3.0",
|
||||
"System.Runtime": "4.3.0"
|
||||
}
|
||||
},
|
||||
"System.Reflection.Primitives/4.3.0": {
|
||||
"dependencies": {
|
||||
"Microsoft.NETCore.Platforms": "1.1.0",
|
||||
"Microsoft.NETCore.Targets": "1.1.0",
|
||||
"System.Runtime": "4.3.0"
|
||||
}
|
||||
},
|
||||
"System.Resources.ResourceManager/4.3.0": {
|
||||
"dependencies": {
|
||||
"Microsoft.NETCore.Platforms": "1.1.0",
|
||||
"Microsoft.NETCore.Targets": "1.1.0",
|
||||
"System.Globalization": "4.3.0",
|
||||
"System.Reflection": "4.3.0",
|
||||
"System.Runtime": "4.3.0"
|
||||
}
|
||||
},
|
||||
"System.Runtime/4.3.0": {
|
||||
"dependencies": {
|
||||
"Microsoft.NETCore.Platforms": "1.1.0",
|
||||
"Microsoft.NETCore.Targets": "1.1.0"
|
||||
}
|
||||
},
|
||||
"System.Runtime.Extensions/4.3.0": {
|
||||
"dependencies": {
|
||||
"Microsoft.NETCore.Platforms": "1.1.0",
|
||||
"Microsoft.NETCore.Targets": "1.1.0",
|
||||
"System.Runtime": "4.3.0"
|
||||
}
|
||||
},
|
||||
"System.Runtime.Handles/4.3.0": {
|
||||
"dependencies": {
|
||||
"Microsoft.NETCore.Platforms": "1.1.0",
|
||||
"Microsoft.NETCore.Targets": "1.1.0",
|
||||
"System.Runtime": "4.3.0"
|
||||
}
|
||||
},
|
||||
"System.Runtime.InteropServices/4.3.0": {
|
||||
"dependencies": {
|
||||
"Microsoft.NETCore.Platforms": "1.1.0",
|
||||
"Microsoft.NETCore.Targets": "1.1.0",
|
||||
"System.Reflection": "4.3.0",
|
||||
"System.Reflection.Primitives": "4.3.0",
|
||||
"System.Runtime": "4.3.0",
|
||||
"System.Runtime.Handles": "4.3.0"
|
||||
}
|
||||
},
|
||||
"System.Runtime.Numerics/4.3.0": {
|
||||
"dependencies": {
|
||||
"System.Globalization": "4.3.0",
|
||||
"System.Resources.ResourceManager": "4.3.0",
|
||||
"System.Runtime": "4.3.0",
|
||||
"System.Runtime.Extensions": "4.3.0"
|
||||
},
|
||||
"runtime": {
|
||||
"lib/netstandard1.3/System.Runtime.Numerics.dll": {
|
||||
"assemblyVersion": "4.0.2.0",
|
||||
"fileVersion": "4.6.24705.1"
|
||||
}
|
||||
}
|
||||
},
|
||||
"System.Security.Cryptography.Algorithms/4.3.0": {
|
||||
"dependencies": {
|
||||
"Microsoft.NETCore.Platforms": "1.1.0",
|
||||
"System.Collections": "4.3.0",
|
||||
"System.IO": "4.3.0",
|
||||
"System.Resources.ResourceManager": "4.3.0",
|
||||
"System.Runtime": "4.3.0",
|
||||
"System.Runtime.Extensions": "4.3.0",
|
||||
"System.Runtime.Handles": "4.3.0",
|
||||
"System.Runtime.InteropServices": "4.3.0",
|
||||
"System.Runtime.Numerics": "4.3.0",
|
||||
"System.Security.Cryptography.Encoding": "4.3.0",
|
||||
"System.Security.Cryptography.Primitives": "4.3.0",
|
||||
"System.Text.Encoding": "4.3.0",
|
||||
"runtime.native.System.Security.Cryptography.Apple": "4.3.0",
|
||||
"runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0"
|
||||
}
|
||||
},
|
||||
"System.Security.Cryptography.Cng/4.3.0": {
|
||||
"dependencies": {
|
||||
"Microsoft.NETCore.Platforms": "1.1.0",
|
||||
"System.IO": "4.3.0",
|
||||
"System.Resources.ResourceManager": "4.3.0",
|
||||
"System.Runtime": "4.3.0",
|
||||
"System.Runtime.Extensions": "4.3.0",
|
||||
"System.Runtime.Handles": "4.3.0",
|
||||
"System.Runtime.InteropServices": "4.3.0",
|
||||
"System.Security.Cryptography.Algorithms": "4.3.0",
|
||||
"System.Security.Cryptography.Encoding": "4.3.0",
|
||||
"System.Security.Cryptography.Primitives": "4.3.0",
|
||||
"System.Text.Encoding": "4.3.0"
|
||||
}
|
||||
},
|
||||
"System.Security.Cryptography.Csp/4.3.0": {
|
||||
"dependencies": {
|
||||
"Microsoft.NETCore.Platforms": "1.1.0",
|
||||
"System.IO": "4.3.0",
|
||||
"System.Reflection": "4.3.0",
|
||||
"System.Resources.ResourceManager": "4.3.0",
|
||||
"System.Runtime": "4.3.0",
|
||||
"System.Runtime.Extensions": "4.3.0",
|
||||
"System.Runtime.Handles": "4.3.0",
|
||||
"System.Runtime.InteropServices": "4.3.0",
|
||||
"System.Security.Cryptography.Algorithms": "4.3.0",
|
||||
"System.Security.Cryptography.Encoding": "4.3.0",
|
||||
"System.Security.Cryptography.Primitives": "4.3.0",
|
||||
"System.Text.Encoding": "4.3.0",
|
||||
"System.Threading": "4.3.0"
|
||||
}
|
||||
},
|
||||
"System.Security.Cryptography.Encoding/4.3.0": {
|
||||
"dependencies": {
|
||||
"Microsoft.NETCore.Platforms": "1.1.0",
|
||||
"System.Collections": "4.3.0",
|
||||
"System.Collections.Concurrent": "4.3.0",
|
||||
"System.Linq": "4.3.0",
|
||||
"System.Resources.ResourceManager": "4.3.0",
|
||||
"System.Runtime": "4.3.0",
|
||||
"System.Runtime.Extensions": "4.3.0",
|
||||
"System.Runtime.Handles": "4.3.0",
|
||||
"System.Runtime.InteropServices": "4.3.0",
|
||||
"System.Security.Cryptography.Primitives": "4.3.0",
|
||||
"System.Text.Encoding": "4.3.0",
|
||||
"runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0"
|
||||
}
|
||||
},
|
||||
"System.Security.Cryptography.OpenSsl/4.3.0": {
|
||||
"dependencies": {
|
||||
"System.Collections": "4.3.0",
|
||||
"System.IO": "4.3.0",
|
||||
"System.Resources.ResourceManager": "4.3.0",
|
||||
"System.Runtime": "4.3.0",
|
||||
"System.Runtime.Extensions": "4.3.0",
|
||||
"System.Runtime.Handles": "4.3.0",
|
||||
"System.Runtime.InteropServices": "4.3.0",
|
||||
"System.Runtime.Numerics": "4.3.0",
|
||||
"System.Security.Cryptography.Algorithms": "4.3.0",
|
||||
"System.Security.Cryptography.Encoding": "4.3.0",
|
||||
"System.Security.Cryptography.Primitives": "4.3.0",
|
||||
"System.Text.Encoding": "4.3.0",
|
||||
"runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0"
|
||||
},
|
||||
"runtime": {
|
||||
"lib/netstandard1.6/System.Security.Cryptography.OpenSsl.dll": {
|
||||
"assemblyVersion": "4.0.0.0",
|
||||
"fileVersion": "1.0.24212.1"
|
||||
}
|
||||
}
|
||||
},
|
||||
"System.Security.Cryptography.Primitives/4.3.0": {
|
||||
"dependencies": {
|
||||
"System.Diagnostics.Debug": "4.3.0",
|
||||
"System.Globalization": "4.3.0",
|
||||
"System.IO": "4.3.0",
|
||||
"System.Resources.ResourceManager": "4.3.0",
|
||||
"System.Runtime": "4.3.0",
|
||||
"System.Threading": "4.3.0",
|
||||
"System.Threading.Tasks": "4.3.0"
|
||||
},
|
||||
"runtime": {
|
||||
"lib/netstandard1.3/System.Security.Cryptography.Primitives.dll": {
|
||||
"assemblyVersion": "4.0.1.0",
|
||||
"fileVersion": "4.6.24705.1"
|
||||
}
|
||||
}
|
||||
},
|
||||
"System.Security.Cryptography.X509Certificates/4.3.0": {
|
||||
"dependencies": {
|
||||
"Microsoft.NETCore.Platforms": "1.1.0",
|
||||
"System.Collections": "4.3.0",
|
||||
"System.Diagnostics.Debug": "4.3.0",
|
||||
"System.Globalization": "4.3.0",
|
||||
"System.Globalization.Calendars": "4.3.0",
|
||||
"System.IO": "4.3.0",
|
||||
"System.IO.FileSystem": "4.3.0",
|
||||
"System.IO.FileSystem.Primitives": "4.3.0",
|
||||
"System.Resources.ResourceManager": "4.3.0",
|
||||
"System.Runtime": "4.3.0",
|
||||
"System.Runtime.Extensions": "4.3.0",
|
||||
"System.Runtime.Handles": "4.3.0",
|
||||
"System.Runtime.InteropServices": "4.3.0",
|
||||
"System.Runtime.Numerics": "4.3.0",
|
||||
"System.Security.Cryptography.Algorithms": "4.3.0",
|
||||
"System.Security.Cryptography.Cng": "4.3.0",
|
||||
"System.Security.Cryptography.Csp": "4.3.0",
|
||||
"System.Security.Cryptography.Encoding": "4.3.0",
|
||||
"System.Security.Cryptography.OpenSsl": "4.3.0",
|
||||
"System.Security.Cryptography.Primitives": "4.3.0",
|
||||
"System.Text.Encoding": "4.3.0",
|
||||
"System.Threading": "4.3.0",
|
||||
"runtime.native.System": "4.3.0",
|
||||
"runtime.native.System.Net.Http": "4.3.0",
|
||||
"runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0"
|
||||
}
|
||||
},
|
||||
"System.Text.Encoding/4.3.0": {
|
||||
"dependencies": {
|
||||
"Microsoft.NETCore.Platforms": "1.1.0",
|
||||
"Microsoft.NETCore.Targets": "1.1.0",
|
||||
"System.Runtime": "4.3.0"
|
||||
}
|
||||
},
|
||||
"System.Text.Encoding.Extensions/4.3.0": {
|
||||
"dependencies": {
|
||||
"Microsoft.NETCore.Platforms": "1.1.0",
|
||||
"Microsoft.NETCore.Targets": "1.1.0",
|
||||
"System.Runtime": "4.3.0",
|
||||
"System.Text.Encoding": "4.3.0"
|
||||
}
|
||||
},
|
||||
"System.Text.RegularExpressions/4.3.0": {
|
||||
"dependencies": {
|
||||
"System.Collections": "4.3.0",
|
||||
"System.Globalization": "4.3.0",
|
||||
"System.Resources.ResourceManager": "4.3.0",
|
||||
"System.Runtime": "4.3.0",
|
||||
"System.Runtime.Extensions": "4.3.0",
|
||||
"System.Threading": "4.3.0"
|
||||
},
|
||||
"runtime": {
|
||||
"lib/netstandard1.6/System.Text.RegularExpressions.dll": {
|
||||
"assemblyVersion": "4.1.1.0",
|
||||
"fileVersion": "4.6.24705.1"
|
||||
}
|
||||
}
|
||||
},
|
||||
"System.Threading/4.3.0": {
|
||||
"dependencies": {
|
||||
"System.Runtime": "4.3.0",
|
||||
"System.Threading.Tasks": "4.3.0"
|
||||
},
|
||||
"runtime": {
|
||||
"lib/netstandard1.3/System.Threading.dll": {
|
||||
"assemblyVersion": "4.0.12.0",
|
||||
"fileVersion": "4.6.24705.1"
|
||||
}
|
||||
}
|
||||
},
|
||||
"System.Threading.Tasks/4.3.0": {
|
||||
"dependencies": {
|
||||
"Microsoft.NETCore.Platforms": "1.1.0",
|
||||
"Microsoft.NETCore.Targets": "1.1.0",
|
||||
"System.Runtime": "4.3.0"
|
||||
}
|
||||
},
|
||||
"System.Threading.Tasks.Extensions/4.3.0": {
|
||||
"dependencies": {
|
||||
"System.Collections": "4.3.0",
|
||||
"System.Runtime": "4.3.0",
|
||||
"System.Threading.Tasks": "4.3.0"
|
||||
},
|
||||
"runtime": {
|
||||
"lib/netstandard1.0/System.Threading.Tasks.Extensions.dll": {
|
||||
"assemblyVersion": "4.1.0.0",
|
||||
"fileVersion": "4.6.24705.1"
|
||||
}
|
||||
}
|
||||
},
|
||||
"System.Xml.ReaderWriter/4.3.0": {
|
||||
"dependencies": {
|
||||
"System.Collections": "4.3.0",
|
||||
"System.Diagnostics.Debug": "4.3.0",
|
||||
"System.Globalization": "4.3.0",
|
||||
"System.IO": "4.3.0",
|
||||
"System.IO.FileSystem": "4.3.0",
|
||||
"System.IO.FileSystem.Primitives": "4.3.0",
|
||||
"System.Resources.ResourceManager": "4.3.0",
|
||||
"System.Runtime": "4.3.0",
|
||||
"System.Runtime.Extensions": "4.3.0",
|
||||
"System.Runtime.InteropServices": "4.3.0",
|
||||
"System.Text.Encoding": "4.3.0",
|
||||
"System.Text.Encoding.Extensions": "4.3.0",
|
||||
"System.Text.RegularExpressions": "4.3.0",
|
||||
"System.Threading.Tasks": "4.3.0",
|
||||
"System.Threading.Tasks.Extensions": "4.3.0"
|
||||
},
|
||||
"runtime": {
|
||||
"lib/netstandard1.3/System.Xml.ReaderWriter.dll": {
|
||||
"assemblyVersion": "4.1.0.0",
|
||||
"fileVersion": "4.6.24705.1"
|
||||
}
|
||||
}
|
||||
},
|
||||
"System.Xml.XmlDocument/4.3.0": {
|
||||
"dependencies": {
|
||||
"System.Collections": "4.3.0",
|
||||
"System.Diagnostics.Debug": "4.3.0",
|
||||
"System.Globalization": "4.3.0",
|
||||
"System.IO": "4.3.0",
|
||||
"System.Resources.ResourceManager": "4.3.0",
|
||||
"System.Runtime": "4.3.0",
|
||||
"System.Runtime.Extensions": "4.3.0",
|
||||
"System.Text.Encoding": "4.3.0",
|
||||
"System.Threading": "4.3.0",
|
||||
"System.Xml.ReaderWriter": "4.3.0"
|
||||
},
|
||||
"runtime": {
|
||||
"lib/netstandard1.3/System.Xml.XmlDocument.dll": {
|
||||
"assemblyVersion": "4.0.2.0",
|
||||
"fileVersion": "4.6.24705.1"
|
||||
}
|
||||
}
|
||||
},
|
||||
"System.Xml.XPath/4.3.0": {
|
||||
"dependencies": {
|
||||
"System.Collections": "4.3.0",
|
||||
"System.Diagnostics.Debug": "4.3.0",
|
||||
"System.Globalization": "4.3.0",
|
||||
"System.IO": "4.3.0",
|
||||
"System.Resources.ResourceManager": "4.3.0",
|
||||
"System.Runtime": "4.3.0",
|
||||
"System.Runtime.Extensions": "4.3.0",
|
||||
"System.Threading": "4.3.0",
|
||||
"System.Xml.ReaderWriter": "4.3.0"
|
||||
},
|
||||
"runtime": {
|
||||
"lib/netstandard1.3/System.Xml.XPath.dll": {
|
||||
"assemblyVersion": "4.0.2.0",
|
||||
"fileVersion": "4.6.24705.1"
|
||||
}
|
||||
}
|
||||
},
|
||||
"System.Xml.XPath.XmlDocument/4.3.0": {
|
||||
"dependencies": {
|
||||
"System.Collections": "4.3.0",
|
||||
"System.Globalization": "4.3.0",
|
||||
"System.IO": "4.3.0",
|
||||
"System.Resources.ResourceManager": "4.3.0",
|
||||
"System.Runtime": "4.3.0",
|
||||
"System.Runtime.Extensions": "4.3.0",
|
||||
"System.Threading": "4.3.0",
|
||||
"System.Xml.ReaderWriter": "4.3.0",
|
||||
"System.Xml.XPath": "4.3.0",
|
||||
"System.Xml.XmlDocument": "4.3.0"
|
||||
},
|
||||
"runtime": {
|
||||
"lib/netstandard1.3/System.Xml.XPath.XmlDocument.dll": {
|
||||
"assemblyVersion": "4.0.2.0",
|
||||
"fileVersion": "4.6.24705.1"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"libraries": {
|
||||
"HtmlAgilityPack/1.9.2": {
|
||||
"type": "project",
|
||||
"serviceable": false,
|
||||
"sha512": ""
|
||||
},
|
||||
"Microsoft.NETCore.Platforms/1.1.0": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-kz0PEW2lhqygehI/d6XsPCQzD7ff7gUJaVGPVETX611eadGsA3A877GdSlU0LRVMCTH/+P3o2iDTak+S08V2+A==",
|
||||
"path": "microsoft.netcore.platforms/1.1.0",
|
||||
"hashPath": "microsoft.netcore.platforms.1.1.0.nupkg.sha512"
|
||||
},
|
||||
"Microsoft.NETCore.Targets/1.1.0": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-aOZA3BWfz9RXjpzt0sRJJMjAscAUm3Hoa4UWAfceV9UTYxgwZ1lZt5nO2myFf+/jetYQo4uTP7zS8sJY67BBxg==",
|
||||
"path": "microsoft.netcore.targets/1.1.0",
|
||||
"hashPath": "microsoft.netcore.targets.1.1.0.nupkg.sha512"
|
||||
},
|
||||
"NETStandard.Library/2.0.3": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-st47PosZSHrjECdjeIzZQbzivYBJFv6P2nv4cj2ypdI204DO+vZ7l5raGMiX4eXMJ53RfOIg+/s4DHVZ54Nu2A==",
|
||||
"path": "netstandard.library/2.0.3",
|
||||
"hashPath": "netstandard.library.2.0.3.nupkg.sha512"
|
||||
},
|
||||
"runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-HdSSp5MnJSsg08KMfZThpuLPJpPwE5hBXvHwoKWosyHHfe8Mh5WKT0ylEOf6yNzX6Ngjxe4Whkafh5q7Ymac4Q==",
|
||||
"path": "runtime.debian.8-x64.runtime.native.system.security.cryptography.openssl/4.3.0",
|
||||
"hashPath": "runtime.debian.8-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512"
|
||||
},
|
||||
"runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-+yH1a49wJMy8Zt4yx5RhJrxO/DBDByAiCzNwiETI+1S4mPdCu0OY4djdciC7Vssk0l22wQaDLrXxXkp+3+7bVA==",
|
||||
"path": "runtime.fedora.23-x64.runtime.native.system.security.cryptography.openssl/4.3.0",
|
||||
"hashPath": "runtime.fedora.23-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512"
|
||||
},
|
||||
"runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-c3YNH1GQJbfIPJeCnr4avseugSqPrxwIqzthYyZDN6EuOyNOzq+y2KSUfRcXauya1sF4foESTgwM5e1A8arAKw==",
|
||||
"path": "runtime.fedora.24-x64.runtime.native.system.security.cryptography.openssl/4.3.0",
|
||||
"hashPath": "runtime.fedora.24-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512"
|
||||
},
|
||||
"runtime.native.System/4.3.0": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-c/qWt2LieNZIj1jGnVNsE2Kl23Ya2aSTBuXMD6V7k9KWr6l16Tqdwq+hJScEpWER9753NWC8h96PaVNY5Ld7Jw==",
|
||||
"path": "runtime.native.system/4.3.0",
|
||||
"hashPath": "runtime.native.system.4.3.0.nupkg.sha512"
|
||||
},
|
||||
"runtime.native.System.Net.Http/4.3.0": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-ZVuZJqnnegJhd2k/PtAbbIcZ3aZeITq3sj06oKfMBSfphW3HDmk/t4ObvbOk/JA/swGR0LNqMksAh/f7gpTROg==",
|
||||
"path": "runtime.native.system.net.http/4.3.0",
|
||||
"hashPath": "runtime.native.system.net.http.4.3.0.nupkg.sha512"
|
||||
},
|
||||
"runtime.native.System.Security.Cryptography.Apple/4.3.0": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-DloMk88juo0OuOWr56QG7MNchmafTLYWvABy36izkrLI5VledI0rq28KGs1i9wbpeT9NPQrx/wTf8U2vazqQ3Q==",
|
||||
"path": "runtime.native.system.security.cryptography.apple/4.3.0",
|
||||
"hashPath": "runtime.native.system.security.cryptography.apple.4.3.0.nupkg.sha512"
|
||||
},
|
||||
"runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-NS1U+700m4KFRHR5o4vo9DSlTmlCKu/u7dtE5sUHVIPB+xpXxYQvgBgA6wEIeCz6Yfn0Z52/72WYsToCEPJnrw==",
|
||||
"path": "runtime.native.system.security.cryptography.openssl/4.3.0",
|
||||
"hashPath": "runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512"
|
||||
},
|
||||
"runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-b3pthNgxxFcD+Pc0WSEoC0+md3MyhRS6aCEeenvNE3Fdw1HyJ18ZhRFVJJzIeR/O/jpxPboB805Ho0T3Ul7w8A==",
|
||||
"path": "runtime.opensuse.13.2-x64.runtime.native.system.security.cryptography.openssl/4.3.0",
|
||||
"hashPath": "runtime.opensuse.13.2-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512"
|
||||
},
|
||||
"runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-KeLz4HClKf+nFS7p/6Fi/CqyLXh81FpiGzcmuS8DGi9lUqSnZ6Es23/gv2O+1XVGfrbNmviF7CckBpavkBoIFQ==",
|
||||
"path": "runtime.opensuse.42.1-x64.runtime.native.system.security.cryptography.openssl/4.3.0",
|
||||
"hashPath": "runtime.opensuse.42.1-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512"
|
||||
},
|
||||
"runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple/4.3.0": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-kVXCuMTrTlxq4XOOMAysuNwsXWpYeboGddNGpIgNSZmv1b6r/s/DPk0fYMB7Q5Qo4bY68o48jt4T4y5BVecbCQ==",
|
||||
"path": "runtime.osx.10.10-x64.runtime.native.system.security.cryptography.apple/4.3.0",
|
||||
"hashPath": "runtime.osx.10.10-x64.runtime.native.system.security.cryptography.apple.4.3.0.nupkg.sha512"
|
||||
},
|
||||
"runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-X7IdhILzr4ROXd8mI1BUCQMSHSQwelUlBjF1JyTKCjXaOGn2fB4EKBxQbCK2VjO3WaWIdlXZL3W6TiIVnrhX4g==",
|
||||
"path": "runtime.osx.10.10-x64.runtime.native.system.security.cryptography.openssl/4.3.0",
|
||||
"hashPath": "runtime.osx.10.10-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512"
|
||||
},
|
||||
"runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-nyFNiCk/r+VOiIqreLix8yN+q3Wga9+SE8BCgkf+2BwEKiNx6DyvFjCgkfV743/grxv8jHJ8gUK4XEQw7yzRYg==",
|
||||
"path": "runtime.rhel.7-x64.runtime.native.system.security.cryptography.openssl/4.3.0",
|
||||
"hashPath": "runtime.rhel.7-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512"
|
||||
},
|
||||
"runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-ytoewC6wGorL7KoCAvRfsgoJPJbNq+64k2SqW6JcOAebWsFUvCCYgfzQMrnpvPiEl4OrblUlhF2ji+Q1+SVLrQ==",
|
||||
"path": "runtime.ubuntu.14.04-x64.runtime.native.system.security.cryptography.openssl/4.3.0",
|
||||
"hashPath": "runtime.ubuntu.14.04-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512"
|
||||
},
|
||||
"runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-I8bKw2I8k58Wx7fMKQJn2R8lamboCAiHfHeV/pS65ScKWMMI0+wJkLYlEKvgW1D/XvSl/221clBoR2q9QNNM7A==",
|
||||
"path": "runtime.ubuntu.16.04-x64.runtime.native.system.security.cryptography.openssl/4.3.0",
|
||||
"hashPath": "runtime.ubuntu.16.04-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512"
|
||||
},
|
||||
"runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-VB5cn/7OzUfzdnC8tqAIMQciVLiq2epm2NrAm1E9OjNRyG4lVhfR61SMcLizejzQP8R8Uf/0l5qOIbUEi+RdEg==",
|
||||
"path": "runtime.ubuntu.16.10-x64.runtime.native.system.security.cryptography.openssl/4.3.0",
|
||||
"hashPath": "runtime.ubuntu.16.10-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512"
|
||||
},
|
||||
"System.Collections/4.3.0": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-3Dcj85/TBdVpL5Zr+gEEBUuFe2icOnLalmEh9hfck1PTYbbyWuZgh4fmm2ysCLTrqLQw6t3TgTyJ+VLp+Qb+Lw==",
|
||||
"path": "system.collections/4.3.0",
|
||||
"hashPath": "system.collections.4.3.0.nupkg.sha512"
|
||||
},
|
||||
"System.Collections.Concurrent/4.3.0": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-ztl69Xp0Y/UXCL+3v3tEU+lIy+bvjKNUmopn1wep/a291pVPK7dxBd6T7WnlQqRog+d1a/hSsgRsmFnIBKTPLQ==",
|
||||
"path": "system.collections.concurrent/4.3.0",
|
||||
"hashPath": "system.collections.concurrent.4.3.0.nupkg.sha512"
|
||||
},
|
||||
"System.Diagnostics.Debug/4.3.0": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-ZUhUOdqmaG5Jk3Xdb8xi5kIyQYAA4PnTNlHx1mu9ZY3qv4ELIdKbnL/akbGaKi2RnNUWaZsAs31rvzFdewTj2g==",
|
||||
"path": "system.diagnostics.debug/4.3.0",
|
||||
"hashPath": "system.diagnostics.debug.4.3.0.nupkg.sha512"
|
||||
},
|
||||
"System.Diagnostics.DiagnosticSource/4.3.0": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-tD6kosZnTAGdrEa0tZSuFyunMbt/5KYDnHdndJYGqZoNy00XVXyACd5d6KnE1YgYv3ne2CjtAfNXo/fwEhnKUA==",
|
||||
"path": "system.diagnostics.diagnosticsource/4.3.0",
|
||||
"hashPath": "system.diagnostics.diagnosticsource.4.3.0.nupkg.sha512"
|
||||
},
|
||||
"System.Diagnostics.Tracing/4.3.0": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-rswfv0f/Cqkh78rA5S8eN8Neocz234+emGCtTF3lxPY96F+mmmUen6tbn0glN6PMvlKQb9bPAY5e9u7fgPTkKw==",
|
||||
"path": "system.diagnostics.tracing/4.3.0",
|
||||
"hashPath": "system.diagnostics.tracing.4.3.0.nupkg.sha512"
|
||||
},
|
||||
"System.Globalization/4.3.0": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-kYdVd2f2PAdFGblzFswE4hkNANJBKRmsfa2X5LG2AcWE1c7/4t0pYae1L8vfZ5xvE2nK/R9JprtToA61OSHWIg==",
|
||||
"path": "system.globalization/4.3.0",
|
||||
"hashPath": "system.globalization.4.3.0.nupkg.sha512"
|
||||
},
|
||||
"System.Globalization.Calendars/4.3.0": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-GUlBtdOWT4LTV3I+9/PJW+56AnnChTaOqqTLFtdmype/L500M2LIyXgmtd9X2P2VOkmJd5c67H5SaC2QcL1bFA==",
|
||||
"path": "system.globalization.calendars/4.3.0",
|
||||
"hashPath": "system.globalization.calendars.4.3.0.nupkg.sha512"
|
||||
},
|
||||
"System.Globalization.Extensions/4.3.0": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-FhKmdR6MPG+pxow6wGtNAWdZh7noIOpdD5TwQ3CprzgIE1bBBoim0vbR1+AWsWjQmU7zXHgQo4TWSP6lCeiWcQ==",
|
||||
"path": "system.globalization.extensions/4.3.0",
|
||||
"hashPath": "system.globalization.extensions.4.3.0.nupkg.sha512"
|
||||
},
|
||||
"System.IO/4.3.0": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-3qjaHvxQPDpSOYICjUoTsmoq5u6QJAFRUITgeT/4gqkF1bajbSmb1kwSxEA8AHlofqgcKJcM8udgieRNhaJ5Cg==",
|
||||
"path": "system.io/4.3.0",
|
||||
"hashPath": "system.io.4.3.0.nupkg.sha512"
|
||||
},
|
||||
"System.IO.FileSystem/4.3.0": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-3wEMARTnuio+ulnvi+hkRNROYwa1kylvYahhcLk4HSoVdl+xxTFVeVlYOfLwrDPImGls0mDqbMhrza8qnWPTdA==",
|
||||
"path": "system.io.filesystem/4.3.0",
|
||||
"hashPath": "system.io.filesystem.4.3.0.nupkg.sha512"
|
||||
},
|
||||
"System.IO.FileSystem.Primitives/4.3.0": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-6QOb2XFLch7bEc4lIcJH49nJN2HV+OC3fHDgsLVsBVBk3Y4hFAnOBGzJ2lUu7CyDDFo9IBWkSsnbkT6IBwwiMw==",
|
||||
"path": "system.io.filesystem.primitives/4.3.0",
|
||||
"hashPath": "system.io.filesystem.primitives.4.3.0.nupkg.sha512"
|
||||
},
|
||||
"System.Linq/4.3.0": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-5DbqIUpsDp0dFftytzuMmc0oeMdQwjcP/EWxsksIz/w1TcFRkZ3yKKz0PqiYFMmEwPSWw+qNVqD7PJ889JzHbw==",
|
||||
"path": "system.linq/4.3.0",
|
||||
"hashPath": "system.linq.4.3.0.nupkg.sha512"
|
||||
},
|
||||
"System.Net.Http/4.3.2": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-y7hv0o0weI0j0mvEcBOdt1F3CAADiWlcw3e54m8TfYiRmBPDIsHElx8QUPDlY4x6yWXKPGN0Z2TuXCTPgkm5WQ==",
|
||||
"path": "system.net.http/4.3.2",
|
||||
"hashPath": "system.net.http.4.3.2.nupkg.sha512"
|
||||
},
|
||||
"System.Net.Primitives/4.3.0": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-qOu+hDwFwoZPbzPvwut2qATe3ygjeQBDQj91xlsaqGFQUI5i4ZnZb8yyQuLGpDGivEPIt8EJkd1BVzVoP31FXA==",
|
||||
"path": "system.net.primitives/4.3.0",
|
||||
"hashPath": "system.net.primitives.4.3.0.nupkg.sha512"
|
||||
},
|
||||
"System.Reflection/4.3.0": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-KMiAFoW7MfJGa9nDFNcfu+FpEdiHpWgTcS2HdMpDvt9saK3y/G4GwprPyzqjFH9NTaGPQeWNHU+iDlDILj96aQ==",
|
||||
"path": "system.reflection/4.3.0",
|
||||
"hashPath": "system.reflection.4.3.0.nupkg.sha512"
|
||||
},
|
||||
"System.Reflection.Primitives/4.3.0": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-5RXItQz5As4xN2/YUDxdpsEkMhvw3e6aNveFXUn4Hl/udNTCNhnKp8lT9fnc3MhvGKh1baak5CovpuQUXHAlIA==",
|
||||
"path": "system.reflection.primitives/4.3.0",
|
||||
"hashPath": "system.reflection.primitives.4.3.0.nupkg.sha512"
|
||||
},
|
||||
"System.Resources.ResourceManager/4.3.0": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-/zrcPkkWdZmI4F92gL/TPumP98AVDu/Wxr3CSJGQQ+XN6wbRZcyfSKVoPo17ilb3iOr0cCRqJInGwNMolqhS8A==",
|
||||
"path": "system.resources.resourcemanager/4.3.0",
|
||||
"hashPath": "system.resources.resourcemanager.4.3.0.nupkg.sha512"
|
||||
},
|
||||
"System.Runtime/4.3.0": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-JufQi0vPQ0xGnAczR13AUFglDyVYt4Kqnz1AZaiKZ5+GICq0/1MH/mO/eAJHt/mHW1zjKBJd7kV26SrxddAhiw==",
|
||||
"path": "system.runtime/4.3.0",
|
||||
"hashPath": "system.runtime.4.3.0.nupkg.sha512"
|
||||
},
|
||||
"System.Runtime.Extensions/4.3.0": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-guW0uK0fn5fcJJ1tJVXYd7/1h5F+pea1r7FLSOz/f8vPEqbR2ZAknuRDvTQ8PzAilDveOxNjSfr0CHfIQfFk8g==",
|
||||
"path": "system.runtime.extensions/4.3.0",
|
||||
"hashPath": "system.runtime.extensions.4.3.0.nupkg.sha512"
|
||||
},
|
||||
"System.Runtime.Handles/4.3.0": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-OKiSUN7DmTWeYb3l51A7EYaeNMnvxwE249YtZz7yooT4gOZhmTjIn48KgSsw2k2lYdLgTKNJw/ZIfSElwDRVgg==",
|
||||
"path": "system.runtime.handles/4.3.0",
|
||||
"hashPath": "system.runtime.handles.4.3.0.nupkg.sha512"
|
||||
},
|
||||
"System.Runtime.InteropServices/4.3.0": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-uv1ynXqiMK8mp1GM3jDqPCFN66eJ5w5XNomaK2XD+TuCroNTLFGeZ+WCmBMcBDyTFKou3P6cR6J/QsaqDp7fGQ==",
|
||||
"path": "system.runtime.interopservices/4.3.0",
|
||||
"hashPath": "system.runtime.interopservices.4.3.0.nupkg.sha512"
|
||||
},
|
||||
"System.Runtime.Numerics/4.3.0": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-yMH+MfdzHjy17l2KESnPiF2dwq7T+xLnSJar7slyimAkUh/gTrS9/UQOtv7xarskJ2/XDSNvfLGOBQPjL7PaHQ==",
|
||||
"path": "system.runtime.numerics/4.3.0",
|
||||
"hashPath": "system.runtime.numerics.4.3.0.nupkg.sha512"
|
||||
},
|
||||
"System.Security.Cryptography.Algorithms/4.3.0": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-W1kd2Y8mYSCgc3ULTAZ0hOP2dSdG5YauTb1089T0/kRcN2MpSAW1izOFROrJgxSlMn3ArsgHXagigyi+ibhevg==",
|
||||
"path": "system.security.cryptography.algorithms/4.3.0",
|
||||
"hashPath": "system.security.cryptography.algorithms.4.3.0.nupkg.sha512"
|
||||
},
|
||||
"System.Security.Cryptography.Cng/4.3.0": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-03idZOqFlsKRL4W+LuCpJ6dBYDUWReug6lZjBa3uJWnk5sPCUXckocevTaUA8iT/MFSrY/2HXkOt753xQ/cf8g==",
|
||||
"path": "system.security.cryptography.cng/4.3.0",
|
||||
"hashPath": "system.security.cryptography.cng.4.3.0.nupkg.sha512"
|
||||
},
|
||||
"System.Security.Cryptography.Csp/4.3.0": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-X4s/FCkEUnRGnwR3aSfVIkldBmtURMhmexALNTwpjklzxWU7yjMk7GHLKOZTNkgnWnE0q7+BCf9N2LVRWxewaA==",
|
||||
"path": "system.security.cryptography.csp/4.3.0",
|
||||
"hashPath": "system.security.cryptography.csp.4.3.0.nupkg.sha512"
|
||||
},
|
||||
"System.Security.Cryptography.Encoding/4.3.0": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-1DEWjZZly9ae9C79vFwqaO5kaOlI5q+3/55ohmq/7dpDyDfc8lYe7YVxJUZ5MF/NtbkRjwFRo14yM4OEo9EmDw==",
|
||||
"path": "system.security.cryptography.encoding/4.3.0",
|
||||
"hashPath": "system.security.cryptography.encoding.4.3.0.nupkg.sha512"
|
||||
},
|
||||
"System.Security.Cryptography.OpenSsl/4.3.0": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-h4CEgOgv5PKVF/HwaHzJRiVboL2THYCou97zpmhjghx5frc7fIvlkY1jL+lnIQyChrJDMNEXS6r7byGif8Cy4w==",
|
||||
"path": "system.security.cryptography.openssl/4.3.0",
|
||||
"hashPath": "system.security.cryptography.openssl.4.3.0.nupkg.sha512"
|
||||
},
|
||||
"System.Security.Cryptography.Primitives/4.3.0": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-7bDIyVFNL/xKeFHjhobUAQqSpJq9YTOpbEs6mR233Et01STBMXNAc/V+BM6dwYGc95gVh/Zf+iVXWzj3mE8DWg==",
|
||||
"path": "system.security.cryptography.primitives/4.3.0",
|
||||
"hashPath": "system.security.cryptography.primitives.4.3.0.nupkg.sha512"
|
||||
},
|
||||
"System.Security.Cryptography.X509Certificates/4.3.0": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-t2Tmu6Y2NtJ2um0RtcuhP7ZdNNxXEgUm2JeoA/0NvlMjAhKCnM1NX07TDl3244mVp3QU6LPEhT3HTtH1uF7IYw==",
|
||||
"path": "system.security.cryptography.x509certificates/4.3.0",
|
||||
"hashPath": "system.security.cryptography.x509certificates.4.3.0.nupkg.sha512"
|
||||
},
|
||||
"System.Text.Encoding/4.3.0": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-BiIg+KWaSDOITze6jGQynxg64naAPtqGHBwDrLaCtixsa5bKiR8dpPOHA7ge3C0JJQizJE+sfkz1wV+BAKAYZw==",
|
||||
"path": "system.text.encoding/4.3.0",
|
||||
"hashPath": "system.text.encoding.4.3.0.nupkg.sha512"
|
||||
},
|
||||
"System.Text.Encoding.Extensions/4.3.0": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-YVMK0Bt/A43RmwizJoZ22ei2nmrhobgeiYwFzC4YAN+nue8RF6djXDMog0UCn+brerQoYVyaS+ghy9P/MUVcmw==",
|
||||
"path": "system.text.encoding.extensions/4.3.0",
|
||||
"hashPath": "system.text.encoding.extensions.4.3.0.nupkg.sha512"
|
||||
},
|
||||
"System.Text.RegularExpressions/4.3.0": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-RpT2DA+L660cBt1FssIE9CAGpLFdFPuheB7pLpKpn6ZXNby7jDERe8Ua/Ne2xGiwLVG2JOqziiaVCGDon5sKFA==",
|
||||
"path": "system.text.regularexpressions/4.3.0",
|
||||
"hashPath": "system.text.regularexpressions.4.3.0.nupkg.sha512"
|
||||
},
|
||||
"System.Threading/4.3.0": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-VkUS0kOBcUf3Wwm0TSbrevDDZ6BlM+b/HRiapRFWjM5O0NS0LviG0glKmFK+hhPDd1XFeSdU1GmlLhb2CoVpIw==",
|
||||
"path": "system.threading/4.3.0",
|
||||
"hashPath": "system.threading.4.3.0.nupkg.sha512"
|
||||
},
|
||||
"System.Threading.Tasks/4.3.0": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-LbSxKEdOUhVe8BezB/9uOGGppt+nZf6e1VFyw6v3DN6lqitm0OSn2uXMOdtP0M3W4iMcqcivm2J6UgqiwwnXiA==",
|
||||
"path": "system.threading.tasks/4.3.0",
|
||||
"hashPath": "system.threading.tasks.4.3.0.nupkg.sha512"
|
||||
},
|
||||
"System.Threading.Tasks.Extensions/4.3.0": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-npvJkVKl5rKXrtl1Kkm6OhOUaYGEiF9wFbppFRWSMoApKzt2PiPHT2Bb8a5sAWxprvdOAtvaARS9QYMznEUtug==",
|
||||
"path": "system.threading.tasks.extensions/4.3.0",
|
||||
"hashPath": "system.threading.tasks.extensions.4.3.0.nupkg.sha512"
|
||||
},
|
||||
"System.Xml.ReaderWriter/4.3.0": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-GrprA+Z0RUXaR4N7/eW71j1rgMnEnEVlgii49GZyAjTH7uliMnrOU3HNFBr6fEDBCJCIdlVNq9hHbaDR621XBA==",
|
||||
"path": "system.xml.readerwriter/4.3.0",
|
||||
"hashPath": "system.xml.readerwriter.4.3.0.nupkg.sha512"
|
||||
},
|
||||
"System.Xml.XmlDocument/4.3.0": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-lJ8AxvkX7GQxpC6GFCeBj8ThYVyQczx2+f/cWHJU8tjS7YfI6Cv6bon70jVEgs2CiFbmmM8b9j1oZVx0dSI2Ww==",
|
||||
"path": "system.xml.xmldocument/4.3.0",
|
||||
"hashPath": "system.xml.xmldocument.4.3.0.nupkg.sha512"
|
||||
},
|
||||
"System.Xml.XPath/4.3.0": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-v1JQ5SETnQusqmS3RwStF7vwQ3L02imIzl++sewmt23VGygix04pEH+FCj1yWb+z4GDzKiljr1W7Wfvrx0YwgA==",
|
||||
"path": "system.xml.xpath/4.3.0",
|
||||
"hashPath": "system.xml.xpath.4.3.0.nupkg.sha512"
|
||||
},
|
||||
"System.Xml.XPath.XmlDocument/4.3.0": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-A/uxsWi/Ifzkmd4ArTLISMbfFs6XpRPsXZonrIqyTY70xi8t+mDtvSM5Os0RqyRDobjMBwIDHDL4NOIbkDwf7A==",
|
||||
"path": "system.xml.xpath.xmldocument/4.3.0",
|
||||
"hashPath": "system.xml.xpath.xmldocument.4.3.0.nupkg.sha512"
|
||||
}
|
||||
}
|
||||
}
|
Binary file not shown.
Binary file not shown.
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Binary file not shown.
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
88
README.md
88
README.md
|
@ -1,3 +1,87 @@
|
|||
# GayMaker-PS3
|
||||
# v1.2
|
||||
Short Circuit Evaulations setting is now applied correctly
|
||||
Fixed auto updater
|
||||
Fixed version manager
|
||||
|
||||
GameMaker Studio -> PlayStation 3 Export tool
|
||||
Download: https://github.com/KuromeSan/GayMaker-Studio/releases/download/v1.2/GayMaker-Studio.1.2.zip
|
||||
|
||||
# v1.1
|
||||
Added version manager - now you can use any verison of GMS1.4 you want
|
||||
Updated default version to 1.4.9999
|
||||
Fixed a bug where changing the project wouldnt update the preview.
|
||||
Fixed a bug where if you never opened "Global Game Settings" in GameMaker
|
||||
Then GayMaker would crash (IT WAS A STRANGE PARSER DIFFERNTAL xD)
|
||||
See issue [#9 on GayMaker](https://bitbucket.org/SilicaAndPina/gaymaker/issues/9/global-game-settings)
|
||||
Added an update-checker it'll ask you if you want to update when a new update is avalible.
|
||||
|
||||
Download: https://bitbucket.org/SilicaAndPina/gaymaker-studio/downloads/GayMaker-Studio%201.1.zip
|
||||
|
||||
# v1.0
|
||||
Inital Release!
|
||||
|
||||
Download: https://bitbucket.org/SilicaAndPina/gaymaker-studio/downloads/GayMaker-Studio.zip
|
||||
|
||||
#GayMaker: Studio
|
||||
|
||||
Homebrew GM:S Export tool (Based off the original [GayMaker Tool for PSVita](https://bitbucket.org/SilicaAndPina/gaymaker))
|
||||
|
||||
Run the program. and browse to a GameMaker Studio project file (.gmx).
|
||||
you can also change the images, Title. and TitleID and then your game will be
|
||||
"compiled" for PS4 and saved as a PKG to whereever you choose to save it
|
||||
|
||||
All projects are compiled using GameMaker 1.4.1804 - the latest version that works on 5.05
|
||||
Packages are created using LibOrbisPkg, No changes made to the original source of the Libary.
|
||||
However some snippits where taken from the PkgEditor and changed to not read from clipboard / drag n drop
|
||||
|
||||
Please show me any games you make with it! (though, please note i wont be too interested unless a girl dies)
|
||||
|
||||
#Shaders
|
||||
When you compile a project that uses Shaders for the first time. you'll be prompted to browse to 'orbis-wave-psslc.exe'
|
||||
This file will then be placed into the GayMaker: Studio install folder and you wont have to do it again after that.
|
||||
Shaders will compile into the GXP format. which will then work on the console itself.
|
||||
|
||||
For *reasons*, i will not provide a link to orbis-wave-psslc.exe
|
||||
|
||||
|
||||
# Controller Mapping
|
||||
|
||||
To Check DS4 Controls use the [GamePad](https://docs.yoyogames.com/source/dadiospice/002_reference/mouse,%20keyboard%20and%20other%20controls/gamepad%20input/index.html) commands
|
||||
Here is what each control maps to:
|
||||
|
||||
gp_face1 = CROSS
|
||||
gp_face2 = SQUARE
|
||||
gp_face3 = CIRCLE
|
||||
gp_face4 = TRIANGLE
|
||||
|
||||
gp_shoulderl = L1
|
||||
gp_shoulderr = R1
|
||||
gp_shoulderlb = L2
|
||||
gp_shoulderrb = R2
|
||||
|
||||
gp_select = SELECT
|
||||
gp_start = START
|
||||
|
||||
gp_stickl = L3
|
||||
gp_stickr = R3
|
||||
|
||||
gp_padu = DPAD UP
|
||||
gp_padd = DPAD DOWN
|
||||
gp_padl = DPAD LEFT
|
||||
gp_padr = DPAD RIGHT
|
||||
|
||||
gp_axislh = LEFT ANOLOUGE HORIZONTAL AXIES
|
||||
gp_axislv = LEFT ANOLOUGE VERTICAL AXIES
|
||||
|
||||
gp_axisrh = RIGHT ANOLOUGE HORIZONTAL AXIES
|
||||
gp_axisrv = RIGHT ANOLOUGE VERTICAL AXIES
|
||||
|
||||
# Homebrew Repo
|
||||
This repository has some GameMaker: Studio Homebrew games / ports.
|
||||
https://bitbucket.org/SilicaAndPina/gm-shb
|
||||
|
||||
# Credits
|
||||
Thanks YoYoGames for GameMaker, "YOYO_DEV_ENABLE", and having a unsecured CDN
|
||||
Thanks To the devs of DnSpy for indirectly making this possible ;)
|
||||
Thanks To MaxTon for [LibOrbisPkg](https://github.com/maxton/LibOrbisPkg)
|
||||
Thanks To ignacio1420 and Nagato for Testing!
|
||||
Thanks To flat_z for [make_fself.py](https://twitter.com/flat_z/status/954856357664100354)
|
||||
|
|
Loading…
Reference in New Issue