diff --git a/Controller/Xp3Dumper.cs b/Controller/Xp3Dumper.cs
deleted file mode 100644
index 7b3306a..0000000
--- a/Controller/Xp3Dumper.cs
+++ /dev/null
@@ -1,342 +0,0 @@
-using System;
-using System.IO;
-using Clowwindy.XP3Dumper.Resources;
-using Clowwindy.XP3Dumper.Utils;
-
-namespace Clowwindy.XP3Dumper.Controller
-{
- internal class Xp3Dumper
- {
- private const string XP3HELPERS_PATH = @"xp3dumper\helpers\";
- private const string EXPORTER_FILENAME = @"!exporteraddr.tpm";
- private const string EXPORTER_FULL_FILENAME = XP3HELPERS_PATH + EXPORTER_FILENAME;
-
- private const string XP3DUMPER_PATH = @"xp3dumper\xp3dumper\";
- private const string DUMPER_FILENAME = @"~xp3dumper0.12d.tpm";
- private const string DUMPER_FULL_FILENAME = XP3DUMPER_PATH + DUMPER_FILENAME;
-
- private const string ARC_LIST_FILENAME = "arc_list.txt";
- private const string ADDRESS_FILENAME = "exporter_address.txt";
- private const string DLLLOADER_FULL_FILENAME = XP3HELPERS_PATH + "DllLoader.exe";
-
- private const string SORAAPP_FILENAME = @"\SoraApp\SoraApp.exe";
- private string NTLEA_PATH = @"D:\Program Files (x86)\NTLEA\ntleac.exe";
-
- private const string DUMPER_BUTTON_CLASS = "Button";
- private const string DUMPER_BUTTON_TITLE = "模式3启动";
-
- private const string DUMPER_GROUP_EDIT_ADDRESS_CLASS = "Button";
- private const string DUMPER_GROUP_EDIT_ADDRESS_TITLE = "特殊功能(模式3)";
-
- private const string DUMPER_EDIT_ADDRESS_CLASS = "EDIT";
-
- private const string DUMPER_WINDOW_TITLE = "xp3dumper 0.12d";
- private const string DUMPER_FINISHED_WINDOW_TITLE = "xp3dumper hint";
-
- private const int WAIT_SLEEP_INTERVAL = 40;
-
- private string address;
-
- private string bootFilename;
-
- private bool finished = true;
-
- internal enum UseStartLoader
- {
- None,
- SoraApp,
- NTLEA
- }
-
- internal Xp3Dumper()
- {
- useLoader = UseStartLoader.None;
- delay = 4;
- codePage = "0411";
- }
-
- internal string BootFilename
- {
- get { return bootFilename; }
- set { bootFilename = value; }
- }
-
- private string executeFilename;
-
- internal string ExecuteFilename
- {
- get { return executeFilename; }
- set { executeFilename = value; }
- }
-
- private string xp3Filename;
-
- internal string Xp3Filename
- {
- get { return xp3Filename; }
- set { xp3Filename = value; }
- }
-
- private string savePath;
-
- internal string SavePath
- {
- get { return savePath; }
- set { savePath = value; }
- }
-
- internal string NTLEAPath
- {
- get { return NTLEA_PATH; }
- set { NTLEA_PATH = value; }
- }
-
- private string getGamePath()
- {
- return FileUtils.GetDirectoryName(bootFilename);
- }
-
- private UseStartLoader useLoader;
-
- internal UseStartLoader UseLoader
- {
- get { return useLoader; }
- set { useLoader = value; }
- }
-
- private int delay;
-
- internal int Delay
- {
- get { return delay; }
- set { delay = value; }
- }
-
- private string codePage;
-
- internal string CodePage
- {
- get { return codePage; }
- set { codePage = value; }
- }
-
- internal string Start()
- {
- try
- {
- finished = false;
-
- //获取导出地址
- killGame();
- delDumperPlugin();
- copyExportPlugin();
- delAddressFile();
- startGame();
- waitUtilTrue(FileUtils.ExistFile, FileUtils.CombinePath(getGamePath(), ADDRESS_FILENAME));
- killGame();
- delExportPlugin();
- this.address = getExportAddr().TrimEnd();
-
- //启动游戏并注入解包插件
- startGame();
- ProcessUtils.Sleep(delay * 1000);
- copyDumperPlugin();
- createArcList();
- runDllLoader();
-
- //填写解包信息,解包
- FileUtils.MakeDir(this.savePath);
- ProcessUtils.Sleep(1000);
- waitUtilTrue(setWindowTextThenClickButton, null);
- return Resource.Started;
- }
- catch (Exception e)
- {
- LogUtils.Log(e.ToString());
- return e.Message + " " + Resource.SeeLog;
- }
- }
-
- internal string WaitForFinish()
- {
- try
- {
- waitUtilTrue(dumpFinished, null);
-
- Finish();
- }
- catch (Exception e)
- {
- LogUtils.Log(e.ToString());
- return e.Message + " " + Resource.SeeLog;
- }
- return Resource.Finished;
- }
-
- internal string Finish()
- {
- try
- {
- killGame();
- delDumperPlugin();
- delExportPlugin();
- delAddressFile();
- finished = true;
- return Resource.Finished;
- }
- catch (Exception e)
- {
- LogUtils.Log(e.ToString());
- return e.Message + " " + Resource.SeeLog;
- }
- }
-
- internal string Cancel()
- {
- try
- {
- killGame();
- delDumperPlugin();
- delExportPlugin();
- delAddressFile();
- finished = true;
- return Resource.Canceled;
- }
- catch (Exception e)
- {
- LogUtils.Log(e.ToString());
- return e.Message + " " + Resource.SeeLog;
- }
- }
-
- protected void startGame()
- {
- try
- {
- if (useLoader == UseStartLoader.SoraApp)
- {
- ProcessUtils.StartProcess(FileUtils.GetWinDir() + SORAAPP_FILENAME, codePage.Trim() + " " + this.bootFilename);
- }
- else if (useLoader == UseStartLoader.NTLEA)
- {
- int iLCID = Convert.ToInt32(codePage.Trim(), 16);
- ProcessUtils.StartProcess(NTLEA_PATH, String.Format("\"{0}\" C{1} L{2}", this.bootFilename, Win32APIUtils.GetLocaleCP(iLCID), iLCID));
- }
- else
- {
- ProcessUtils.StartProcess(this.bootFilename, null);
- }
- }
- catch (FileNotFoundException e)
- {
- throw new ArgumentException(Resource.LoaderNotFound, e);
- }
-
- waitUtilTrue(ProcessUtils.ExistsProcess, this.executeFilename);
- }
-
- protected int getGamePID()
- {
- return 0;
- }
-
- protected void killGame()
- {
- ProcessUtils.Kill(this.executeFilename);
- waitUtilFalse(ProcessUtils.ExistsProcess, this.executeFilename);
- }
-
- protected void copyExportPlugin()
- {
- FileUtils.Copy(EXPORTER_FULL_FILENAME, FileUtils.CombinePath(getGamePath(), EXPORTER_FILENAME));
- }
-
- protected void delExportPlugin()
- {
- FileUtils.Delete(FileUtils.CombinePath(getGamePath(), EXPORTER_FILENAME));
- }
-
- protected void delAddressFile()
- {
- FileUtils.Delete(FileUtils.CombinePath(getGamePath(), ADDRESS_FILENAME));
- }
-
- protected string getExportAddr()
- {
- return FileUtils.ReadTextFile(FileUtils.CombinePath(getGamePath(), ADDRESS_FILENAME));
- }
-
- protected void copyDumperPlugin()
- {
- FileUtils.Copy(DUMPER_FULL_FILENAME, FileUtils.CombinePath(getGamePath(), DUMPER_FILENAME));
- }
-
- protected void delDumperPlugin()
- {
- FileUtils.Delete(FileUtils.CombinePath(getGamePath(), DUMPER_FILENAME));
- }
-
- protected void runDllLoader()
- {
- int pid = ProcessUtils.GetProcess(this.executeFilename).Id;
- ProcessUtils.StartProcess(DLLLOADER_FULL_FILENAME, pid.ToString() + " " + DUMPER_FILENAME);
- }
-
- protected void createArcList()
- {
- FileUtils.WriteTextFile(FileUtils.CombinePath(getGamePath(), ARC_LIST_FILENAME), this.xp3Filename.Replace(",", "\r\n"));
- }
-
- protected bool setWindowTextThenClickButton(String notUsed)
- {
- IntPtr hwndWin;
- IntPtr hwndButton;
- IntPtr hwndEditPath;
- IntPtr hwndEditAddress;
-
- hwndWin = ProcessUtils.FindWindow(null, DUMPER_WINDOW_TITLE);
- if (hwndWin.ToInt32() == 0)
- {
- return false;
- }
- hwndEditPath = ProcessUtils.FindWindowEx(hwndWin, new IntPtr(0), DUMPER_EDIT_ADDRESS_CLASS, null);
- hwndEditAddress = ProcessUtils.FindWindowEx(hwndWin, hwndEditPath, DUMPER_EDIT_ADDRESS_CLASS, null);
- hwndButton = ProcessUtils.FindWindowEx(hwndWin, new IntPtr(0), DUMPER_BUTTON_CLASS, DUMPER_BUTTON_TITLE);
-
- ProcessUtils.SetText(hwndEditPath, this.savePath);
- ProcessUtils.SetText(hwndEditAddress, this.address);
- ProcessUtils.PostMessage(hwndButton, ProcessUtils.BM_CLICK);
- return true;
- }
-
- protected bool dumpFinished(string notUsed)
- {
- IntPtr hwndWin = ProcessUtils.FindWindow(null, DUMPER_FINISHED_WINDOW_TITLE);
- if (hwndWin.ToInt32() == 0)
- {
- return false;
- }
- return true;
- }
-
- protected delegate bool StringToBoolMethod(string argument);
-
- protected void waitUtilTrue(StringToBoolMethod condition, string argument)
- {
- while (!condition(argument) && !finished)
- {
- ProcessUtils.Sleep(WAIT_SLEEP_INTERVAL);
- ProcessUtils.DoEvents();
- }
- }
-
- protected void waitUtilFalse(StringToBoolMethod condition, string argument)
- {
- while (condition(argument) && !finished)
- {
- ProcessUtils.Sleep(WAIT_SLEEP_INTERVAL);
- ProcessUtils.DoEvents();
- }
- }
- }
-}
\ No newline at end of file
diff --git a/GUI/MainForm.Designer.cs b/GUI/MainForm.Designer.cs
deleted file mode 100644
index ff35d7b..0000000
--- a/GUI/MainForm.Designer.cs
+++ /dev/null
@@ -1,305 +0,0 @@
-namespace Clowwindy.XP3Dumper.GUI
-{
- partial class MainForm
- {
- ///
- /// Required designer variable.
- ///
- private System.ComponentModel.IContainer components = null;
-
- ///
- /// Clean up any resources being used.
- ///
- /// true if managed resources should be disposed; otherwise, false.
- protected override void Dispose(bool disposing)
- {
- if (disposing && (components != null))
- {
- components.Dispose();
- }
- base.Dispose(disposing);
- }
-
- #region Windows Form Designer generated code
-
- ///
- /// Required method for Designer support - do not modify
- /// the contents of this method with the code editor.
- ///
- private void InitializeComponent()
- {
- System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(MainForm));
- this.label1 = new System.Windows.Forms.Label();
- this.label2 = new System.Windows.Forms.Label();
- this.tbBootFilename = new System.Windows.Forms.TextBox();
- this.tbExcuteFilename = new System.Windows.Forms.TextBox();
- this.tbXp3Filename = new System.Windows.Forms.TextBox();
- this.label3 = new System.Windows.Forms.Label();
- this.btnStart = new System.Windows.Forms.Button();
- this.label4 = new System.Windows.Forms.Label();
- this.tbSavePath = new System.Windows.Forms.TextBox();
- this.rbUseSoraApp = new System.Windows.Forms.RadioButton();
- this.rbUseNTLEA = new System.Windows.Forms.RadioButton();
- this.rbUseNone = new System.Windows.Forms.RadioButton();
- this.btnBootFilename = new System.Windows.Forms.Button();
- this.btnExcuteFilename = new System.Windows.Forms.Button();
- this.btnExtractFilename = new System.Windows.Forms.Button();
- this.btnSavePath = new System.Windows.Forms.Button();
- this.numDelay = new System.Windows.Forms.NumericUpDown();
- this.label5 = new System.Windows.Forms.Label();
- this.label6 = new System.Windows.Forms.Label();
- this.tbCodePage = new System.Windows.Forms.TextBox();
- this.groupBox1 = new System.Windows.Forms.GroupBox();
- this.groupBox2 = new System.Windows.Forms.GroupBox();
- this.tbNTLEAPath = new System.Windows.Forms.TextBox();
- this.buttonNTLEA = new System.Windows.Forms.Button();
- this.lbStatus = new System.Windows.Forms.Label();
- this.btnCancel = new System.Windows.Forms.Button();
- ((System.ComponentModel.ISupportInitialize)(this.numDelay)).BeginInit();
- this.groupBox1.SuspendLayout();
- this.groupBox2.SuspendLayout();
- this.SuspendLayout();
- //
- // label1
- //
- resources.ApplyResources(this.label1, "label1");
- this.label1.Name = "label1";
- //
- // label2
- //
- resources.ApplyResources(this.label2, "label2");
- this.label2.Name = "label2";
- //
- // tbBootFilename
- //
- resources.ApplyResources(this.tbBootFilename, "tbBootFilename");
- this.tbBootFilename.Name = "tbBootFilename";
- //
- // tbExcuteFilename
- //
- resources.ApplyResources(this.tbExcuteFilename, "tbExcuteFilename");
- this.tbExcuteFilename.Name = "tbExcuteFilename";
- //
- // tbXp3Filename
- //
- resources.ApplyResources(this.tbXp3Filename, "tbXp3Filename");
- this.tbXp3Filename.Name = "tbXp3Filename";
- //
- // label3
- //
- resources.ApplyResources(this.label3, "label3");
- this.label3.Name = "label3";
- //
- // btnStart
- //
- resources.ApplyResources(this.btnStart, "btnStart");
- this.btnStart.Name = "btnStart";
- this.btnStart.UseVisualStyleBackColor = true;
- this.btnStart.Click += new System.EventHandler(this.btnStart_Click);
- //
- // label4
- //
- resources.ApplyResources(this.label4, "label4");
- this.label4.Name = "label4";
- //
- // tbSavePath
- //
- resources.ApplyResources(this.tbSavePath, "tbSavePath");
- this.tbSavePath.Name = "tbSavePath";
- //
- // rbUseSoraApp
- //
- resources.ApplyResources(this.rbUseSoraApp, "rbUseSoraApp");
- this.rbUseSoraApp.Name = "rbUseSoraApp";
- this.rbUseSoraApp.UseVisualStyleBackColor = true;
- //
- // rbUseNTLEA
- //
- resources.ApplyResources(this.rbUseNTLEA, "rbUseNTLEA");
- this.rbUseNTLEA.Name = "rbUseNTLEA";
- this.rbUseNTLEA.UseVisualStyleBackColor = true;
- //
- // rbUseNone
- //
- resources.ApplyResources(this.rbUseNone, "rbUseNone");
- this.rbUseNone.Checked = true;
- this.rbUseNone.Name = "rbUseNone";
- this.rbUseNone.TabStop = true;
- this.rbUseNone.UseVisualStyleBackColor = true;
- this.rbUseNone.CheckedChanged += new System.EventHandler(this.rbUseNone_CheckedChanged);
- //
- // btnBootFilename
- //
- resources.ApplyResources(this.btnBootFilename, "btnBootFilename");
- this.btnBootFilename.Name = "btnBootFilename";
- this.btnBootFilename.UseVisualStyleBackColor = true;
- this.btnBootFilename.Click += new System.EventHandler(this.btnBootFilename_Click);
- //
- // btnExcuteFilename
- //
- resources.ApplyResources(this.btnExcuteFilename, "btnExcuteFilename");
- this.btnExcuteFilename.Name = "btnExcuteFilename";
- this.btnExcuteFilename.UseVisualStyleBackColor = true;
- this.btnExcuteFilename.Click += new System.EventHandler(this.btnExcuteFilename_Click);
- //
- // btnExtractFilename
- //
- resources.ApplyResources(this.btnExtractFilename, "btnExtractFilename");
- this.btnExtractFilename.Name = "btnExtractFilename";
- this.btnExtractFilename.UseVisualStyleBackColor = true;
- this.btnExtractFilename.Click += new System.EventHandler(this.btnExtractFilename_Click);
- //
- // btnSavePath
- //
- resources.ApplyResources(this.btnSavePath, "btnSavePath");
- this.btnSavePath.Name = "btnSavePath";
- this.btnSavePath.UseVisualStyleBackColor = true;
- this.btnSavePath.Click += new System.EventHandler(this.btnSavePath_Click);
- //
- // numDelay
- //
- resources.ApplyResources(this.numDelay, "numDelay");
- this.numDelay.Maximum = new decimal(new int[] {
- 10000,
- 0,
- 0,
- 0});
- this.numDelay.Minimum = new decimal(new int[] {
- 1,
- 0,
- 0,
- 0});
- this.numDelay.Name = "numDelay";
- this.numDelay.Value = new decimal(new int[] {
- 4,
- 0,
- 0,
- 0});
- //
- // label5
- //
- resources.ApplyResources(this.label5, "label5");
- this.label5.Name = "label5";
- //
- // label6
- //
- resources.ApplyResources(this.label6, "label6");
- this.label6.Name = "label6";
- //
- // tbCodePage
- //
- resources.ApplyResources(this.tbCodePage, "tbCodePage");
- this.tbCodePage.Name = "tbCodePage";
- //
- // groupBox1
- //
- this.groupBox1.Controls.Add(this.label1);
- this.groupBox1.Controls.Add(this.label2);
- this.groupBox1.Controls.Add(this.tbBootFilename);
- this.groupBox1.Controls.Add(this.tbExcuteFilename);
- this.groupBox1.Controls.Add(this.tbXp3Filename);
- this.groupBox1.Controls.Add(this.label3);
- this.groupBox1.Controls.Add(this.btnSavePath);
- this.groupBox1.Controls.Add(this.label4);
- this.groupBox1.Controls.Add(this.btnExtractFilename);
- this.groupBox1.Controls.Add(this.tbSavePath);
- this.groupBox1.Controls.Add(this.btnExcuteFilename);
- this.groupBox1.Controls.Add(this.btnBootFilename);
- resources.ApplyResources(this.groupBox1, "groupBox1");
- this.groupBox1.Name = "groupBox1";
- this.groupBox1.TabStop = false;
- //
- // groupBox2
- //
- this.groupBox2.Controls.Add(this.tbNTLEAPath);
- this.groupBox2.Controls.Add(this.buttonNTLEA);
- this.groupBox2.Controls.Add(this.rbUseSoraApp);
- this.groupBox2.Controls.Add(this.rbUseNTLEA);
- this.groupBox2.Controls.Add(this.tbCodePage);
- this.groupBox2.Controls.Add(this.numDelay);
- this.groupBox2.Controls.Add(this.label5);
- this.groupBox2.Controls.Add(this.rbUseNone);
- this.groupBox2.Controls.Add(this.label6);
- resources.ApplyResources(this.groupBox2, "groupBox2");
- this.groupBox2.Name = "groupBox2";
- this.groupBox2.TabStop = false;
- //
- // tbNTLEAPath
- //
- resources.ApplyResources(this.tbNTLEAPath, "tbNTLEAPath");
- this.tbNTLEAPath.Name = "tbNTLEAPath";
- this.tbNTLEAPath.TextChanged += new System.EventHandler(this.tbNTLEAPath_TextChanged);
- //
- // buttonNTLEA
- //
- resources.ApplyResources(this.buttonNTLEA, "buttonNTLEA");
- this.buttonNTLEA.Name = "buttonNTLEA";
- this.buttonNTLEA.UseVisualStyleBackColor = true;
- this.buttonNTLEA.Click += new System.EventHandler(this.buttonNTLEA_Click);
- //
- // lbStatus
- //
- resources.ApplyResources(this.lbStatus, "lbStatus");
- this.lbStatus.Name = "lbStatus";
- //
- // btnCancel
- //
- resources.ApplyResources(this.btnCancel, "btnCancel");
- this.btnCancel.Name = "btnCancel";
- this.btnCancel.UseVisualStyleBackColor = true;
- this.btnCancel.Click += new System.EventHandler(this.btnCancel_Click);
- //
- // MainForm
- //
- resources.ApplyResources(this, "$this");
- this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
- this.Controls.Add(this.lbStatus);
- this.Controls.Add(this.groupBox2);
- this.Controls.Add(this.groupBox1);
- this.Controls.Add(this.btnCancel);
- this.Controls.Add(this.btnStart);
- this.DoubleBuffered = true;
- this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
- this.MaximizeBox = false;
- this.Name = "MainForm";
- this.TopMost = true;
- this.Load += new System.EventHandler(this.MainForm_Load);
- ((System.ComponentModel.ISupportInitialize)(this.numDelay)).EndInit();
- this.groupBox1.ResumeLayout(false);
- this.groupBox1.PerformLayout();
- this.groupBox2.ResumeLayout(false);
- this.groupBox2.PerformLayout();
- this.ResumeLayout(false);
-
- }
-
- #endregion
-
- private System.Windows.Forms.Label label1;
- private System.Windows.Forms.Label label2;
- private System.Windows.Forms.TextBox tbBootFilename;
- private System.Windows.Forms.TextBox tbExcuteFilename;
- private System.Windows.Forms.TextBox tbXp3Filename;
- private System.Windows.Forms.Label label3;
- private System.Windows.Forms.Button btnStart;
- private System.Windows.Forms.Label label4;
- private System.Windows.Forms.TextBox tbSavePath;
- private System.Windows.Forms.RadioButton rbUseSoraApp;
- private System.Windows.Forms.RadioButton rbUseNTLEA;
- private System.Windows.Forms.RadioButton rbUseNone;
- private System.Windows.Forms.Button btnBootFilename;
- private System.Windows.Forms.Button btnExcuteFilename;
- private System.Windows.Forms.Button btnExtractFilename;
- private System.Windows.Forms.Button btnSavePath;
- private System.Windows.Forms.NumericUpDown numDelay;
- private System.Windows.Forms.Label label5;
- private System.Windows.Forms.Label label6;
- private System.Windows.Forms.TextBox tbCodePage;
- private System.Windows.Forms.GroupBox groupBox1;
- private System.Windows.Forms.GroupBox groupBox2;
- private System.Windows.Forms.Label lbStatus;
- private System.Windows.Forms.Button btnCancel;
- private System.Windows.Forms.Button buttonNTLEA;
- private System.Windows.Forms.TextBox tbNTLEAPath;
- }
-}
\ No newline at end of file
diff --git a/GUI/MainForm.cs b/GUI/MainForm.cs
deleted file mode 100644
index 5311f05..0000000
--- a/GUI/MainForm.cs
+++ /dev/null
@@ -1,169 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.ComponentModel;
-using System.Data;
-using System.Drawing;
-using System.IO;
-using System.Reflection;
-using System.Text;
-using System.Windows.Forms;
-using Clowwindy.XP3Dumper.Controller;
-using Clowwindy.XP3Dumper.Utils;
-
-namespace Clowwindy.XP3Dumper.GUI
-{
- internal partial class MainForm : Form
- {
- private Xp3Dumper dumper;
- private OpenFileDialog openDialog;
- private FolderBrowserDialog folderDialog;
-
- internal MainForm()
- {
- InitializeComponent();
- }
-
- private void initDumper()
- {
- dumper = new Xp3Dumper();
- dumper.BootFilename = tbBootFilename.Text;
- dumper.ExecuteFilename = tbExcuteFilename.Text;
- dumper.Xp3Filename = tbXp3Filename.Text;
- dumper.SavePath = tbSavePath.Text;
- dumper.CodePage = tbCodePage.Text;
- dumper.Delay = (int)numDelay.Value;
-
- if (rbUseSoraApp.Checked)
- dumper.UseLoader = Xp3Dumper.UseStartLoader.SoraApp;
- else if (rbUseNTLEA.Checked)
- dumper.UseLoader = Xp3Dumper.UseStartLoader.NTLEA;
- else
- dumper.UseLoader = Xp3Dumper.UseStartLoader.None;
- }
-
- private string startDumper()
- {
- return dumper.Start();
- }
-
- private void btnStart_Click(object sender, EventArgs e)
- {
- initDumper();
-
- btnStart.Enabled = false;
- btnCancel.Enabled = true;
- var result = startDumper();
- lbStatus.Text = result;
-
- result = dumper.WaitForFinish();
- lbStatus.Text = result;
- btnStart.Enabled = true;
- btnCancel.Enabled = false;
-
- this.Activate();
- this.Focus();
- }
-
- private void MainForm_Load(object sender, EventArgs e)
- {
- FlushConfigFile();
-
- Version version = Assembly.GetExecutingAssembly().GetName().Version;
- this.Text += String.Format(" {0}.{1}", version.Major, version.Minor);
- openDialog = new OpenFileDialog();
- openDialog.RestoreDirectory = true;
- folderDialog = new FolderBrowserDialog();
-
- tbNTLEAPath.Text = Properties.Settings.Default.NTLEAPath;
- }
-
- private void FlushConfigFile()
- {
- string configFileName = System.Windows.Forms.Application.ExecutablePath + ".config";
- if (!File.Exists(configFileName))
- {
- StreamWriter bw = new StreamWriter(new FileStream(configFileName, FileMode.Create), System.Text.Encoding.UTF8);
- bw.Write(Properties.Resources.app_config);
- bw.Close();
- }
- }
-
- private void rbUseNone_CheckedChanged(object sender, EventArgs e)
- {
- tbCodePage.Enabled = !rbUseNone.Checked;
- }
-
- private void btnCancel_Click(object sender, EventArgs e)
- {
- if (dumper != null)
- {
- var result = dumper.Cancel();
- lbStatus.Text = result;
- btnStart.Enabled = true;
- btnCancel.Enabled = false;
- }
- }
-
- private void btnBootFilename_Click(object sender, EventArgs e)
- {
- openDialog.FileName = tbBootFilename.Text;
- openDialog.Filter = "*.exe|*.exe|*.*|*.*";
- if (openDialog.ShowDialog() == DialogResult.OK)
- {
- tbBootFilename.Text = openDialog.FileName;
- if (string.IsNullOrEmpty(tbExcuteFilename.Text))
- {
- tbExcuteFilename.Text = FileUtils.GetFileName(openDialog.FileName);
- }
- if (string.IsNullOrEmpty(tbSavePath.Text))
- {
- tbSavePath.Text = FileUtils.CombinePath(FileUtils.GetDirectoryName(openDialog.FileName), "dump");
- }
- }
- }
-
- private void btnExcuteFilename_Click(object sender, EventArgs e)
- {
- openDialog.FileName = tbBootFilename.Text;
- openDialog.Filter = "*.exe|*.exe|*.*|*.*";
- if (openDialog.ShowDialog() == DialogResult.OK)
- {
- tbExcuteFilename.Text = FileUtils.GetFileName(openDialog.FileName);
- }
- }
-
- private void btnExtractFilename_Click(object sender, EventArgs e)
- {
- openDialog.FileName = tbBootFilename.Text;
- openDialog.Filter = "*.xp3|*.xp3|*.*|*.*";
- if (openDialog.ShowDialog() == DialogResult.OK)
- {
- tbXp3Filename.Text = FileUtils.GetFileName(openDialog.FileName);
- }
- }
-
- private void btnSavePath_Click(object sender, EventArgs e)
- {
- folderDialog.SelectedPath = tbSavePath.Text;
- if (folderDialog.ShowDialog() == DialogResult.OK)
- {
- tbSavePath.Text = folderDialog.SelectedPath;
- }
- }
-
- private void buttonNTLEA_Click(object sender, EventArgs e)
- {
- openDialog.FileName = tbNTLEAPath.Text;
- openDialog.Filter = "ntleac.exe|ntleac.exe";
- if (openDialog.ShowDialog() == DialogResult.OK)
- {
- tbNTLEAPath.Text = openDialog.FileName;
- }
- }
-
- private void tbNTLEAPath_TextChanged(object sender, EventArgs e)
- {
- SettingUtils.Change("NTLEAPath", tbNTLEAPath.Text);
- }
- }
-}
\ No newline at end of file
diff --git a/GUI/MainForm.resx b/GUI/MainForm.resx
deleted file mode 100644
index fd30436..0000000
--- a/GUI/MainForm.resx
+++ /dev/null
@@ -1,780 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- text/microsoft-resx
-
-
- 2.0
-
-
- System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
-
- True
-
-
-
- 6, 25
-
-
- 287, 12
-
-
- 0
-
-
- 游戏启动exe文件(如破解用的boot文件,含路径):
-
-
- label1
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBox1
-
-
- 0
-
-
- True
-
-
- 6, 64
-
-
- 179, 12
-
-
- 1
-
-
- 游戏执行exe文件(不含路径):
-
-
- label2
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBox1
-
-
- 1
-
-
- 4, 40
-
-
- 219, 21
-
-
- 2
-
-
- tbBootFilename
-
-
- System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBox1
-
-
- 2
-
-
- 4, 79
-
-
- 219, 21
-
-
- 3
-
-
- tbExcuteFilename
-
-
- System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBox1
-
-
- 3
-
-
- 4, 118
-
-
- 219, 21
-
-
- 4
-
-
- tbXp3Filename
-
-
- System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBox1
-
-
- 4
-
-
- True
-
-
- 6, 103
-
-
- 299, 12
-
-
- 5
-
-
- 目标xp3文件(不含路径,多个包可用半角逗号分隔):
-
-
- label3
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBox1
-
-
- 5
-
-
- 364, 239
-
-
- 75, 23
-
-
- 6
-
-
- 提取
-
-
- btnStart
-
-
- System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- $this
-
-
- 4
-
-
- True
-
-
- 6, 143
-
-
- 77, 12
-
-
- 7
-
-
- 保存文件夹:
-
-
- label4
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBox1
-
-
- 7
-
-
- 4, 160
-
-
- 219, 21
-
-
- 8
-
-
- tbSavePath
-
-
- System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBox1
-
-
- 9
-
-
- True
-
-
- 13, 20
-
-
- 89, 16
-
-
- 9
-
-
- 使用SoraApp
-
-
- rbUseSoraApp
-
-
- System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBox2
-
-
- 2
-
-
- True
-
-
- 13, 43
-
-
- 77, 16
-
-
- 10
-
-
- 使用NTLEA
-
-
- rbUseNTLEA
-
-
- System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBox2
-
-
- 3
-
-
- True
-
-
- 13, 93
-
-
- 59, 16
-
-
- 11
-
-
- 不使用
-
-
- rbUseNone
-
-
- System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBox2
-
-
- 7
-
-
- 230, 40
-
-
- 75, 23
-
-
- 12
-
-
- 浏览
-
-
- btnBootFilename
-
-
- System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBox1
-
-
- 11
-
-
- 230, 77
-
-
- 75, 23
-
-
- 12
-
-
- 浏览
-
-
- btnExcuteFilename
-
-
- System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBox1
-
-
- 10
-
-
- 230, 116
-
-
- 75, 23
-
-
- 12
-
-
- 浏览
-
-
- btnExtractFilename
-
-
- System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBox1
-
-
- 8
-
-
- 230, 158
-
-
- 75, 23
-
-
- 12
-
-
- 浏览
-
-
- btnSavePath
-
-
- System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBox1
-
-
- 6
-
-
- 14, 174
-
-
- 62, 21
-
-
- 13
-
-
- numDelay
-
-
- System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBox2
-
-
- 5
-
-
- True
-
-
- 12, 159
-
-
- 125, 12
-
-
- 14
-
-
- 载入插件延时(秒):
-
-
- label5
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBox2
-
-
- 6
-
-
- True
-
-
- 12, 116
-
-
- 53, 12
-
-
- 16
-
-
- 代码页:
-
-
- label6
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBox2
-
-
- 8
-
-
- False
-
-
- 13, 131
-
-
- 62, 21
-
-
- 17
-
-
- 0411
-
-
- tbCodePage
-
-
- System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBox2
-
-
- 4
-
-
- 12, 12
-
-
- 319, 205
-
-
- 18
-
-
- groupBox1
-
-
- System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- $this
-
-
- 2
-
-
- 13, 66
-
-
- 155, 21
-
-
- 19
-
-
- tbNTLEAPath
-
-
- System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBox2
-
-
- 0
-
-
- 121, 40
-
-
- 47, 23
-
-
- 18
-
-
- 浏览
-
-
- buttonNTLEA
-
-
- System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBox2
-
-
- 1
-
-
- 351, 12
-
-
- 174, 205
-
-
- 19
-
-
- groupBox2
-
-
- System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- $this
-
-
- 1
-
-
- 12, 232
-
-
- 317, 36
-
-
- 20
-
-
- 就绪
-
-
- lbStatus
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- $this
-
-
- 0
-
-
- False
-
-
- 445, 239
-
-
- 75, 23
-
-
- 6
-
-
- 取消
-
-
- btnCancel
-
-
- System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- $this
-
-
- 3
-
-
- True
-
-
- 6, 12
-
-
- True
-
-
- 537, 278
-
-
-
- CenterScreen
-
-
- XP3 Dumper GUI
-
-
- MainForm
-
-
- System.Windows.Forms.Form, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
\ No newline at end of file
diff --git a/Properties/AssemblyInfo.cs b/Properties/AssemblyInfo.cs
deleted file mode 100644
index 517691f..0000000
--- a/Properties/AssemblyInfo.cs
+++ /dev/null
@@ -1,36 +0,0 @@
-using System.Reflection;
-using System.Runtime.CompilerServices;
-using System.Runtime.InteropServices;
-
-// 有关程序集的常规信息通过下列属性集
-// 控制。更改这些属性值可修改
-// 与程序集关联的信息。
-[assembly: AssemblyTitle("xp3dumper_gui")]
-[assembly: AssemblyDescription("")]
-[assembly: AssemblyConfiguration("")]
-[assembly: AssemblyCompany("clowwindy")]
-[assembly: AssemblyProduct("xp3dumper_gui")]
-[assembly: AssemblyCopyright("Copyright © 2010")]
-[assembly: AssemblyTrademark("")]
-[assembly: AssemblyCulture("")]
-
-// 将 ComVisible 设置为 false 使此程序集中的类型
-// 对 COM 组件不可见。如果需要从 COM 访问此程序集中的类型,
-// 则将该类型上的 ComVisible 属性设置为 true。
-[assembly: ComVisible(true)]
-
-// 如果此项目向 COM 公开,则下列 GUID 用于类型库的 ID
-[assembly: Guid("2771d9e3-2059-4d9d-bbdc-d93580e3533a")]
-
-// 程序集的版本信息由下面四个值组成:
-//
-// 主版本
-// 次版本
-// 内部版本号
-// 修订号
-//
-// 可以指定所有这些值,也可以使用“内部版本号”和“修订号”的默认值,
-// 方法是按如下所示使用“*”:
-// [assembly: AssemblyVersion("1.0.*")]
-[assembly: AssemblyVersion("0.3.*")]
-//[assembly: AssemblyFileVersion("0.1.*.*")]
\ No newline at end of file
diff --git a/Properties/Resources.Designer.cs b/Properties/Resources.Designer.cs
deleted file mode 100644
index 19edca2..0000000
--- a/Properties/Resources.Designer.cs
+++ /dev/null
@@ -1,78 +0,0 @@
-//------------------------------------------------------------------------------
-//
-// 此代码由工具生成。
-// 运行时版本:4.0.30319.1
-//
-// 对此文件的更改可能会导致不正确的行为,并且如果
-// 重新生成代码,这些更改将会丢失。
-//
-//------------------------------------------------------------------------------
-
-namespace Clowwindy.XP3Dumper.Properties {
- using System;
-
-
- ///
- /// 一个强类型的资源类,用于查找本地化的字符串等。
- ///
- // 此类是由 StronglyTypedResourceBuilder
- // 类通过类似于 ResGen 或 Visual Studio 的工具自动生成的。
- // 若要添加或移除成员,请编辑 .ResX 文件,然后重新运行 ResGen
- // (以 /str 作为命令选项),或重新生成 VS 项目。
- [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
- [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
- [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
- internal class Resources {
-
- private static global::System.Resources.ResourceManager resourceMan;
-
- private static global::System.Globalization.CultureInfo resourceCulture;
-
- [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
- internal Resources() {
- }
-
- ///
- /// 返回此类使用的缓存的 ResourceManager 实例。
- ///
- [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("Clowwindy.XP3Dumper.Properties.Resources", typeof(Resources).Assembly);
- resourceMan = temp;
- }
- return resourceMan;
- }
- }
-
- ///
- /// 使用此强类型资源类,为所有资源查找
- /// 重写当前线程的 CurrentUICulture 属性。
- ///
- [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
- internal static global::System.Globalization.CultureInfo Culture {
- get {
- return resourceCulture;
- }
- set {
- resourceCulture = value;
- }
- }
-
- ///
- /// 查找类似 <?xml version="1.0" encoding="utf-8" ?>
- ///<configuration>
- /// <configSections>
- /// <sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
- /// <section name="Clowwindy.XP3Dumper.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
- /// </sectionGroup>
- /// [字符串的其余部分被截断]"; 的本地化字符串。
- ///
- internal static string app_config {
- get {
- return ResourceManager.GetString("app_config", resourceCulture);
- }
- }
- }
-}
diff --git a/Properties/Resources.resx b/Properties/Resources.resx
deleted file mode 100644
index 49526fc..0000000
--- a/Properties/Resources.resx
+++ /dev/null
@@ -1,124 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- text/microsoft-resx
-
-
- 2.0
-
-
- System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
-
- ..\app.config;System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;utf-8
-
-
\ No newline at end of file
diff --git a/Properties/Settings.Designer.cs b/Properties/Settings.Designer.cs
deleted file mode 100644
index 71a16c7..0000000
--- a/Properties/Settings.Designer.cs
+++ /dev/null
@@ -1,35 +0,0 @@
-//------------------------------------------------------------------------------
-//
-// 此代码由工具生成。
-// 运行时版本:4.0.30319.1
-//
-// 对此文件的更改可能会导致不正确的行为,并且如果
-// 重新生成代码,这些更改将会丢失。
-//
-//------------------------------------------------------------------------------
-
-namespace Clowwindy.XP3Dumper.Properties {
-
-
- [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
- [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "10.0.0.0")]
- internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
-
- private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
-
- public static Settings Default {
- get {
- return defaultInstance;
- }
- }
-
- [global::System.Configuration.ApplicationScopedSettingAttribute()]
- [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
- [global::System.Configuration.DefaultSettingValueAttribute("C:\\Program Files\\NTLEA\\ntleac.exe")]
- public string NTLEAPath {
- get {
- return ((string)(this["NTLEAPath"]));
- }
- }
- }
-}
diff --git a/Properties/Settings.settings b/Properties/Settings.settings
deleted file mode 100644
index b105d37..0000000
--- a/Properties/Settings.settings
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
-
-
- C:\Program Files\NTLEA\ntleac.exe
-
-
-
\ No newline at end of file
diff --git a/Properties/app.manifest b/Properties/app.manifest
deleted file mode 100644
index b10e8f8..0000000
--- a/Properties/app.manifest
+++ /dev/null
@@ -1,26 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/Resources/Resource.Designer.cs b/Resources/Resource.Designer.cs
deleted file mode 100644
index 7fa2172..0000000
--- a/Resources/Resource.Designer.cs
+++ /dev/null
@@ -1,108 +0,0 @@
-//------------------------------------------------------------------------------
-//
-// 此代码由工具生成。
-// 运行时版本:4.0.30319.1
-//
-// 对此文件的更改可能会导致不正确的行为,并且如果
-// 重新生成代码,这些更改将会丢失。
-//
-//------------------------------------------------------------------------------
-
-namespace Clowwindy.XP3Dumper.Resources {
- using System;
-
-
- ///
- /// 一个强类型的资源类,用于查找本地化的字符串等。
- ///
- // 此类是由 StronglyTypedResourceBuilder
- // 类通过类似于 ResGen 或 Visual Studio 的工具自动生成的。
- // 若要添加或移除成员,请编辑 .ResX 文件,然后重新运行 ResGen
- // (以 /str 作为命令选项),或重新生成 VS 项目。
- [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
- [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
- [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
- internal class Resource {
-
- private static global::System.Resources.ResourceManager resourceMan;
-
- private static global::System.Globalization.CultureInfo resourceCulture;
-
- [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
- internal Resource() {
- }
-
- ///
- /// 返回此类使用的缓存的 ResourceManager 实例。
- ///
- [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("Clowwindy.XP3Dumper.Resources.Resource", typeof(Resource).Assembly);
- resourceMan = temp;
- }
- return resourceMan;
- }
- }
-
- ///
- /// 使用此强类型资源类,为所有资源查找
- /// 重写当前线程的 CurrentUICulture 属性。
- ///
- [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
- internal static global::System.Globalization.CultureInfo Culture {
- get {
- return resourceCulture;
- }
- set {
- resourceCulture = value;
- }
- }
-
- ///
- /// 查找类似 已取消。 的本地化字符串。
- ///
- internal static string Canceled {
- get {
- return ResourceManager.GetString("Canceled", resourceCulture);
- }
- }
-
- ///
- /// 查找类似 提取完成。 的本地化字符串。
- ///
- internal static string Finished {
- get {
- return ResourceManager.GetString("Finished", resourceCulture);
- }
- }
-
- ///
- /// 查找类似 未找到相应启动载入工具。 的本地化字符串。
- ///
- internal static string LoaderNotFound {
- get {
- return ResourceManager.GetString("LoaderNotFound", resourceCulture);
- }
- }
-
- ///
- /// 查找类似 请检查日志文件。 的本地化字符串。
- ///
- internal static string SeeLog {
- get {
- return ResourceManager.GetString("SeeLog", resourceCulture);
- }
- }
-
- ///
- /// 查找类似 正在提取中,请稍候。 的本地化字符串。
- ///
- internal static string Started {
- get {
- return ResourceManager.GetString("Started", resourceCulture);
- }
- }
- }
-}
diff --git a/Resources/Resource.resx b/Resources/Resource.resx
deleted file mode 100644
index 69b7201..0000000
--- a/Resources/Resource.resx
+++ /dev/null
@@ -1,135 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- text/microsoft-resx
-
-
- 2.0
-
-
- System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- 已取消。
-
-
- 提取完成。
-
-
- 未找到相应启动载入工具。
-
-
- 请检查日志文件。
-
-
- 正在提取中,请稍候。
-
-
\ No newline at end of file
diff --git a/Utils/FileUtils.cs b/Utils/FileUtils.cs
deleted file mode 100644
index cc91345..0000000
--- a/Utils/FileUtils.cs
+++ /dev/null
@@ -1,73 +0,0 @@
-using System.IO;
-using System.Text;
-
-namespace Clowwindy.XP3Dumper.Utils
-{
- internal static class FileUtils
- {
- internal static bool ExistFile(string filename)
- {
- return File.Exists(filename);
- }
-
- internal static void MakeDir(string dir)
- {
- if (!Directory.Exists(dir))
- {
- Directory.CreateDirectory(dir);
- }
- }
-
- internal static void Copy(string sourceFilename, string destFilename)
- {
- File.Copy(sourceFilename, destFilename, true);
- }
-
- internal static void Delete(string filename)
- {
- if (File.Exists(filename))
- {
- File.Delete(filename);
- }
- }
-
- internal static string GetDirectoryName(string filename)
- {
- return new FileInfo(filename).DirectoryName;
- }
-
- internal static string GetFileName(string filename)
- {
- return new FileInfo(filename).Name;
- }
-
- internal static string CombinePath(string path1, string path2)
- {
- return Path.Combine(path1, path2);
- }
-
- internal static string ReadTextFile(string filename)
- {
- using (var f = File.OpenText(filename))
- {
- return f.ReadToEnd();
- }
- }
-
- internal static void WriteTextFile(string filename, string content)
- {
- File.WriteAllText(filename, content, Encoding.Default);
- }
-
- internal static string GetWinDir()
- {
- return System.Environment.ExpandEnvironmentVariables("%WinDir%");
- }
-
- internal static void WriteText(FileStream f, string content)
- {
- var l = Encoding.UTF8.GetBytes(content);
- f.Write(l, 0, l.Length);
- }
- }
-}
diff --git a/Utils/LogUtils.cs b/Utils/LogUtils.cs
deleted file mode 100644
index 8561ec4..0000000
--- a/Utils/LogUtils.cs
+++ /dev/null
@@ -1,21 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Text;
-using System.IO;
-
-namespace Clowwindy.XP3Dumper.Utils
-{
- internal static class LogUtils
- {
- private const string LOG_FILENAME = @"xp3dumper_gui.log";
-
- internal static void Log(string content)
- {
- using (var f = File.Open(LOG_FILENAME, FileMode.Append, FileAccess.Write))
- {
- FileUtils.WriteText(f, DateTime.Now.ToString() + "\r\n");
- FileUtils.WriteText(f, content + "\r\n\r\n");
- }
- }
- }
-}
diff --git a/Utils/ProcessUtils.cs b/Utils/ProcessUtils.cs
deleted file mode 100644
index c4f72d1..0000000
--- a/Utils/ProcessUtils.cs
+++ /dev/null
@@ -1,90 +0,0 @@
-using System.Diagnostics;
-using System.IO;
-using System.Threading;
-using System;
-using System.Windows.Forms;
-using System.Runtime.InteropServices;
-
-namespace Clowwindy.XP3Dumper.Utils
-{
- internal static class ProcessUtils
- {
-
- internal static readonly int BM_CLICK = 0x00F5;
- internal static readonly int WM_SETTEXT = 0x000C;
- internal static readonly int WM_GETTEXT = 0x000D;
-
- [DllImport("user32.dll")]
- internal static extern IntPtr FindWindow(string lpClassName, string lpWindowName);
-
- [DllImport("user32.dll")]
- internal static extern IntPtr FindWindowEx(IntPtr hwndParent, IntPtr hwndChildAfter, string lpszClass, string lpszWindow);
-
- [DllImport("user32.dll", CharSet = CharSet.Unicode)]
- internal static extern IntPtr PostMessage(IntPtr hwnd, int wMsg, IntPtr wParam, IntPtr lParam);
-
- [DllImport("User32.dll", CharSet = CharSet.Auto)]
- internal static extern bool SetWindowText(IntPtr hwnd, string lpString);
-
- [DllImport("user32.dll")]
- public static extern int SendMessage(IntPtr hWnd, int Msg, IntPtr wParam, IntPtr lParam);
-
- [DllImport("user32.dll", EntryPoint = "SendMessage")]
- private static extern int SendMessageAsText(IntPtr hWnd, int wMsg, int wParam, [MarshalAs(UnmanagedType.LPStr)] string lParam);
-
-
- internal static IntPtr PostMessage(IntPtr targetHWnd, int msg)
- {
- Message message = Message.Create(targetHWnd, msg, new IntPtr(0), new IntPtr(0));
- return PostMessage(message.HWnd, message.Msg, message.WParam, message.LParam);
- }
-
- internal static int SetText(IntPtr hwnd, string text)
- {
- return SendMessageAsText(hwnd, WM_SETTEXT, 0, text);
- }
-
- internal static Process StartProcess(string filename, string arguments)
- {
- ProcessStartInfo startInfo = new ProcessStartInfo(filename, arguments);
- var fi = new FileInfo(filename);
- startInfo.WorkingDirectory = fi.DirectoryName;
- startInfo.FileName = fi.FullName;
- return Process.Start(startInfo);
- }
-
- internal static bool ExistsProcess(string imageName)
- {
- return Process.GetProcessesByName(imageName.Split('.')[0]).Length > 0;
- }
-
- internal static Process GetProcess(string imageName)
- {
- var ps = Process.GetProcessesByName(imageName.Split('.')[0]);
- if (ps.Length > 0)
- {
- return ps[0];
- }
- return null;
- }
-
- internal static void Kill(string imageName)
- {
- var ps = Process.GetProcessesByName(imageName.Split('.')[0]);
- foreach (var p in ps)
- {
- p.Kill();
- }
- }
-
- internal static void Sleep(int interval)
- {
- Thread.Sleep(interval);
- }
-
- internal static void DoEvents()
- {
- System.Windows.Forms.Application.DoEvents();
- }
- }
-}
diff --git a/bin/Debug/xp3dumper_gui.vshost.application b/bin/Debug/xp3dumper_gui.vshost.application
deleted file mode 100644
index e6ad0fe..0000000
--- a/bin/Debug/xp3dumper_gui.vshost.application
+++ /dev/null
@@ -1,18 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
- zxaj7hn8xkX6oUsR8PFmlns5Um8=
-
-
-
-
\ No newline at end of file
diff --git a/bin/Debug/xp3dumper_gui.vshost.exe b/bin/Debug/xp3dumper_gui.vshost.exe
deleted file mode 100644
index 526b854..0000000
Binary files a/bin/Debug/xp3dumper_gui.vshost.exe and /dev/null differ
diff --git a/bin/Debug/xp3dumper_gui.vshost.exe.config b/bin/Debug/xp3dumper_gui.vshost.exe.config
deleted file mode 100644
index 424b343..0000000
--- a/bin/Debug/xp3dumper_gui.vshost.exe.config
+++ /dev/null
@@ -1,15 +0,0 @@
-
-
-
-
-
-
-
-
-
-
- D:\Program Files (x86)\NTLEA\ntleac.exe
-
-
-
-
\ No newline at end of file
diff --git a/bin/Debug/xp3dumper_gui.vshost.exe.manifest b/bin/Debug/xp3dumper_gui.vshost.exe.manifest
deleted file mode 100644
index 5e1ea1c..0000000
--- a/bin/Debug/xp3dumper_gui.vshost.exe.manifest
+++ /dev/null
@@ -1,154 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- dJglxbY+R0mTq6Nw23fxoqM2HOU=
-
-
-
-
-
-
-
-
-
- P7nE7DX2zHoIfKjq/b+YY7M3BbM=
-
-
-
-
-
-
-
-
- Hg6KJQ4+DyFQpIc2kVyzSISbu70=
-
-
-
-
-
-
-
-
- Es11uQGUH6BA3BwHFRTvEPmYTwM=
-
-
-
-
-
-
-
-
- KQH3YnnZgF/QgxwtrkTxhUbEOzE=
-
-
-
-
-
-
-
-
- 7VVglum3qEfSmWMZinDjSyVXlU0=
-
-
-
-
-
-
-
-
- eI/M7uOpAJw3/9mS4ITpG5nxK9Y=
-
-
-
-
-
-
-
-
- mfienJTiUVouNe7yAMi+y5hi+w0=
-
-
-
-
-
-
-
-
- btNPy9oIpHWife/DOxIZdNfPmh4=
-
-
-
-
-
-
-
-
- w2/w2+jqcKWuOA3c62UA2zFtyTI=
-
-
-
-
-
-
-
-
- wdcmE/F/hgEJvc/KaQucqTy9tg0=
-
-
-
-
-
-
-
-
- 70C/zLZlejquvg9aKZjsf/c6gDQ=
-
-
-
\ No newline at end of file
diff --git a/bin/Release/xp3dumper_gui.vshost.exe b/bin/Release/xp3dumper_gui.vshost.exe
deleted file mode 100644
index 526b854..0000000
Binary files a/bin/Release/xp3dumper_gui.vshost.exe and /dev/null differ
diff --git a/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache b/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache
deleted file mode 100644
index f9debc2..0000000
Binary files a/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache and /dev/null differ
diff --git a/obj/Debug/TempPE/Properties.Resources.Designer.cs.dll b/obj/Debug/TempPE/Properties.Resources.Designer.cs.dll
deleted file mode 100644
index 07fe97b..0000000
Binary files a/obj/Debug/TempPE/Properties.Resources.Designer.cs.dll and /dev/null differ
diff --git a/obj/Debug/TempPE/Resources.Resource.Designer.cs.dll b/obj/Debug/TempPE/Resources.Resource.Designer.cs.dll
deleted file mode 100644
index b2ba25d..0000000
Binary files a/obj/Debug/TempPE/Resources.Resource.Designer.cs.dll and /dev/null differ
diff --git a/obj/Debug/xp3dumper_gui.csproj.FileListAbsolute.txt b/obj/Debug/xp3dumper_gui.csproj.FileListAbsolute.txt
deleted file mode 100644
index 52f457f..0000000
--- a/obj/Debug/xp3dumper_gui.csproj.FileListAbsolute.txt
+++ /dev/null
@@ -1,31 +0,0 @@
-C:\workspace\xp3dumper_gui\xp3dumper_gui\bin\Debug\Readme.txt
-C:\workspace\xp3dumper_gui\xp3dumper_gui\bin\Debug\xp3dumper\helpers\DllLoader.exe
-C:\workspace\xp3dumper_gui\xp3dumper_gui\bin\Debug\xp3dumper\helpers\dumperHelper.txt
-C:\workspace\xp3dumper_gui\xp3dumper_gui\bin\Debug\xp3dumper\helpers\pic_path.txt
-C:\workspace\xp3dumper_gui\xp3dumper_gui\bin\Debug\xp3dumper\readme.txt
-C:\workspace\xp3dumper_gui\xp3dumper_gui\bin\Debug\xp3dumper\xp3dumper\history.txt
-C:\workspace\xp3dumper_gui\xp3dumper_gui\bin\Debug\xp3dumper\xp3dumper\xp3dumper.txt
-C:\workspace\xp3dumper_gui\xp3dumper_gui\bin\Debug\xp3dumper\xp3maker\history.txt
-C:\workspace\xp3dumper_gui\xp3dumper_gui\bin\Debug\xp3dumper\xp3maker\xp3enc.dll
-C:\workspace\xp3dumper_gui\xp3dumper_gui\bin\Debug\xp3dumper\xp3maker\xp3maker.txt
-C:\workspace\xp3dumper_gui\xp3dumper_gui\bin\Debug\xp3dumper\helpers\!dumpHelper.tpm
-C:\workspace\xp3dumper_gui\xp3dumper_gui\bin\Debug\xp3dumper\helpers\!exporteraddr.tpm
-C:\workspace\xp3dumper_gui\xp3dumper_gui\bin\Debug\xp3dumper\helpers\xp3dumper.helper.dat
-C:\workspace\xp3dumper_gui\xp3dumper_gui\bin\Debug\xp3dumper\helpers\~layerExSave.tpm
-C:\workspace\xp3dumper_gui\xp3dumper_gui\bin\Debug\xp3dumper\helpers\~~fpng.tpm
-C:\workspace\xp3dumper_gui\xp3dumper_gui\bin\Debug\xp3dumper\xp3dumper\~xp3dumper0.12d.tpm
-C:\workspace\xp3dumper_gui\xp3dumper_gui\bin\Debug\xp3dumper\xp3maker\~xp3maker.tpm
-C:\workspace\xp3dumper_gui\xp3dumper_gui\bin\Debug\xp3dumper_gui.exe.manifest
-C:\workspace\xp3dumper_gui\xp3dumper_gui\bin\Debug\xp3dumper_gui.application
-C:\workspace\xp3dumper_gui\xp3dumper_gui\bin\Debug\xp3dumper_gui.exe
-C:\workspace\xp3dumper_gui\xp3dumper_gui\bin\Debug\xp3dumper_gui.pdb
-C:\workspace\xp3dumper_gui\xp3dumper_gui\obj\Debug\ResolveAssemblyReference.cache
-C:\workspace\xp3dumper_gui\xp3dumper_gui\obj\Debug\Clowwindy.XP3Dumper.GUI.MainForm.resources
-C:\workspace\xp3dumper_gui\xp3dumper_gui\obj\Debug\Clowwindy.XP3Dumper.Properties.Resources.resources
-C:\workspace\xp3dumper_gui\xp3dumper_gui\obj\Debug\Clowwindy.XP3Dumper.Resources.Resource.resources
-C:\workspace\xp3dumper_gui\xp3dumper_gui\obj\Debug\xp3dumper_gui.csproj.GenerateResource.Cache
-C:\workspace\xp3dumper_gui\xp3dumper_gui\obj\Debug\xp3dumper_gui.TrustInfo.xml
-C:\workspace\xp3dumper_gui\xp3dumper_gui\obj\Debug\xp3dumper_gui.exe.manifest
-C:\workspace\xp3dumper_gui\xp3dumper_gui\obj\Debug\xp3dumper_gui.application
-C:\workspace\xp3dumper_gui\xp3dumper_gui\obj\Debug\xp3dumper_gui.exe
-C:\workspace\xp3dumper_gui\xp3dumper_gui\obj\Debug\xp3dumper_gui.pdb
diff --git a/obj/Debug/xp3dumper_gui.csproj.GenerateResource.Cache b/obj/Debug/xp3dumper_gui.csproj.GenerateResource.Cache
deleted file mode 100644
index b69ed3f..0000000
Binary files a/obj/Debug/xp3dumper_gui.csproj.GenerateResource.Cache and /dev/null differ
diff --git a/obj/Release/DesignTimeResolveAssemblyReferencesInput.cache b/obj/Release/DesignTimeResolveAssemblyReferencesInput.cache
deleted file mode 100644
index 4f68eb0..0000000
Binary files a/obj/Release/DesignTimeResolveAssemblyReferencesInput.cache and /dev/null differ
diff --git a/obj/Release/TempPE/Properties.Resources.Designer.cs.dll b/obj/Release/TempPE/Properties.Resources.Designer.cs.dll
deleted file mode 100644
index c821b16..0000000
Binary files a/obj/Release/TempPE/Properties.Resources.Designer.cs.dll and /dev/null differ
diff --git a/obj/Release/TempPE/Resources.Resource.Designer.cs.dll b/obj/Release/TempPE/Resources.Resource.Designer.cs.dll
deleted file mode 100644
index bd29bc3..0000000
Binary files a/obj/Release/TempPE/Resources.Resource.Designer.cs.dll and /dev/null differ
diff --git a/obj/Release/xp3dumper_gui.csproj.FileListAbsolute.txt b/obj/Release/xp3dumper_gui.csproj.FileListAbsolute.txt
deleted file mode 100644
index 35c48c0..0000000
--- a/obj/Release/xp3dumper_gui.csproj.FileListAbsolute.txt
+++ /dev/null
@@ -1,31 +0,0 @@
-C:\workspace\xp3dumper_gui\xp3dumper_gui\bin\Release\Readme.txt
-C:\workspace\xp3dumper_gui\xp3dumper_gui\bin\Release\xp3dumper\helpers\DllLoader.exe
-C:\workspace\xp3dumper_gui\xp3dumper_gui\bin\Release\xp3dumper\helpers\dumperHelper.txt
-C:\workspace\xp3dumper_gui\xp3dumper_gui\bin\Release\xp3dumper\helpers\pic_path.txt
-C:\workspace\xp3dumper_gui\xp3dumper_gui\bin\Release\xp3dumper\readme.txt
-C:\workspace\xp3dumper_gui\xp3dumper_gui\bin\Release\xp3dumper\xp3dumper\history.txt
-C:\workspace\xp3dumper_gui\xp3dumper_gui\bin\Release\xp3dumper\xp3dumper\xp3dumper.txt
-C:\workspace\xp3dumper_gui\xp3dumper_gui\bin\Release\xp3dumper\xp3maker\history.txt
-C:\workspace\xp3dumper_gui\xp3dumper_gui\bin\Release\xp3dumper\xp3maker\xp3enc.dll
-C:\workspace\xp3dumper_gui\xp3dumper_gui\bin\Release\xp3dumper\xp3maker\xp3maker.txt
-C:\workspace\xp3dumper_gui\xp3dumper_gui\bin\Release\xp3dumper\helpers\!dumpHelper.tpm
-C:\workspace\xp3dumper_gui\xp3dumper_gui\bin\Release\xp3dumper\helpers\!exporteraddr.tpm
-C:\workspace\xp3dumper_gui\xp3dumper_gui\bin\Release\xp3dumper\helpers\xp3dumper.helper.dat
-C:\workspace\xp3dumper_gui\xp3dumper_gui\bin\Release\xp3dumper\helpers\~layerExSave.tpm
-C:\workspace\xp3dumper_gui\xp3dumper_gui\bin\Release\xp3dumper\helpers\~~fpng.tpm
-C:\workspace\xp3dumper_gui\xp3dumper_gui\bin\Release\xp3dumper\xp3dumper\~xp3dumper0.12d.tpm
-C:\workspace\xp3dumper_gui\xp3dumper_gui\bin\Release\xp3dumper\xp3maker\~xp3maker.tpm
-C:\workspace\xp3dumper_gui\xp3dumper_gui\bin\Release\xp3dumper_gui.exe.manifest
-C:\workspace\xp3dumper_gui\xp3dumper_gui\bin\Release\xp3dumper_gui.application
-C:\workspace\xp3dumper_gui\xp3dumper_gui\bin\Release\xp3dumper_gui.exe
-C:\workspace\xp3dumper_gui\xp3dumper_gui\bin\Release\xp3dumper_gui.pdb
-C:\workspace\xp3dumper_gui\xp3dumper_gui\obj\Release\ResolveAssemblyReference.cache
-C:\workspace\xp3dumper_gui\xp3dumper_gui\obj\Release\Clowwindy.XP3Dumper.GUI.MainForm.resources
-C:\workspace\xp3dumper_gui\xp3dumper_gui\obj\Release\Clowwindy.XP3Dumper.Properties.Resources.resources
-C:\workspace\xp3dumper_gui\xp3dumper_gui\obj\Release\Clowwindy.XP3Dumper.Resources.Resource.resources
-C:\workspace\xp3dumper_gui\xp3dumper_gui\obj\Release\xp3dumper_gui.csproj.GenerateResource.Cache
-C:\workspace\xp3dumper_gui\xp3dumper_gui\obj\Release\xp3dumper_gui.TrustInfo.xml
-C:\workspace\xp3dumper_gui\xp3dumper_gui\obj\Release\xp3dumper_gui.exe.manifest
-C:\workspace\xp3dumper_gui\xp3dumper_gui\obj\Release\xp3dumper_gui.application
-C:\workspace\xp3dumper_gui\xp3dumper_gui\obj\Release\xp3dumper_gui.exe
-C:\workspace\xp3dumper_gui\xp3dumper_gui\obj\Release\xp3dumper_gui.pdb
diff --git a/obj/Release/xp3dumper_gui.csproj.GenerateResource.Cache b/obj/Release/xp3dumper_gui.csproj.GenerateResource.Cache
deleted file mode 100644
index b69ed3f..0000000
Binary files a/obj/Release/xp3dumper_gui.csproj.GenerateResource.Cache and /dev/null differ
diff --git a/xp3dumper/helpers/!dumpHelper.tpm b/xp3dumper/helpers/!dumpHelper.tpm
deleted file mode 100644
index 805a36a..0000000
Binary files a/xp3dumper/helpers/!dumpHelper.tpm and /dev/null differ
diff --git a/xp3dumper/helpers/!exporteraddr.tpm b/xp3dumper/helpers/!exporteraddr.tpm
deleted file mode 100644
index 61d9197..0000000
Binary files a/xp3dumper/helpers/!exporteraddr.tpm and /dev/null differ
diff --git a/xp3dumper/helpers/DllLoader.exe b/xp3dumper/helpers/DllLoader.exe
deleted file mode 100644
index 7834041..0000000
Binary files a/xp3dumper/helpers/DllLoader.exe and /dev/null differ
diff --git a/xp3dumper/helpers/dumperHelper.txt b/xp3dumper/helpers/dumperHelper.txt
deleted file mode 100644
index d82e3ac..0000000
--- a/xp3dumper/helpers/dumperHelper.txt
+++ /dev/null
@@ -1,8 +0,0 @@
-!dumperHelper
-֤
-غóΪԶصIJ2ﵽβЧ
-
-÷(˽)
-ʼʱĿ¼Ѱxp3dumper.helper.datļжȡһ
-ǸԶصIJٵӦ
-ǷǸԶصIJɶӦֵ
diff --git a/xp3dumper/helpers/pic_path.txt b/xp3dumper/helpers/pic_path.txt
deleted file mode 100644
index f95cb4d..0000000
--- a/xp3dumper/helpers/pic_path.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-F:\Shallot\hwr\dumped\bgimage.xp3
-bgimage.xp3
diff --git a/xp3dumper/helpers/xp3dumper.helper.dat b/xp3dumper/helpers/xp3dumper.helper.dat
deleted file mode 100644
index 7d105a7..0000000
--- a/xp3dumper/helpers/xp3dumper.helper.dat
+++ /dev/null
@@ -1 +0,0 @@
--3
\ No newline at end of file
diff --git a/xp3dumper/helpers/~layerExSave.tpm b/xp3dumper/helpers/~layerExSave.tpm
deleted file mode 100644
index 8775b09..0000000
Binary files a/xp3dumper/helpers/~layerExSave.tpm and /dev/null differ
diff --git a/xp3dumper/helpers/~~fpng.tpm b/xp3dumper/helpers/~~fpng.tpm
deleted file mode 100644
index 33fd7b1..0000000
Binary files a/xp3dumper/helpers/~~fpng.tpm and /dev/null differ
diff --git a/xp3dumper/readme.txt b/xp3dumper/readme.txt
deleted file mode 100644
index a0807d8..0000000
--- a/xp3dumper/readme.txt
+++ /dev/null
@@ -1,11 +0,0 @@
-xp3dumper
-
-˵
- /xp3dumper xp3Զȡ
- /xp3maker xp3ȡ
- /helpers
- - !dumpHelper.tpm ڸxp3dumperxp3makerķ
- - !exporteraddr.tpm ռxp3dumperģʽ3һϢIJ
- - DllLoader.exe һDllע빤
-
-Resty.
diff --git a/xp3dumper/xp3dumper/history.txt b/xp3dumper/xp3dumper/history.txt
deleted file mode 100644
index 7dbcb8d..0000000
--- a/xp3dumper/xp3dumper/history.txt
+++ /dev/null
@@ -1,34 +0,0 @@
-krkr2̬ȡ
-~xp3dumper.tpm
-: Resty
-
-(ѩcrass) https://yukict.com/bbs/forumdisplay.php?fid=69
-
-κ뱨:ccpp132@gmail.com
-
-history:
-
-0.11:
- ʵģʽ3ڿֹȡexporterdllעķȡˡ
- չ˽ģʽֵ֧·ʽ
-
-0.10:
- ȫдȫʹUncodeֲ֧ͬķʽȡ
-
-0.05:
- ʹ˫ʽܹAnti
- лsfsuvivalύϷ륯ꥢˮζλ
-
-0.04:
- ļʹUnicode룬Էʱļʧܡ
- һСbug
-
-0.03:
- һbugʹÿӦ㷺krkr汾
-
-0.02:
- һdeantiĹܣʹFHAĽⲻò
-
-0.01:
- ʼ汾
- ִ֧ϷɴִļĿ磺MoleBox
diff --git a/xp3dumper/xp3dumper/xp3dumper.txt b/xp3dumper/xp3dumper/xp3dumper.txt
deleted file mode 100644
index d395c47..0000000
--- a/xp3dumper/xp3dumper/xp3dumper.txt
+++ /dev/null
@@ -1,38 +0,0 @@
-xp3dumper 0.11 ˵
-
-3ȡֶΣYY
-ȸ˷1ȻôԸ1ȻԶԸ˷2
-ȻôԸ2ͳƷ3
-
-1
-!dumpHelper.tpm~xp3dumper0.11.tpmͬʱӵӦĿ¼£ѡ1
-
-2
-!dumpHelper.tpm~xp3dumper0.11.tpmͬʱӵӦĿ¼£ѡ2
-֮xp3ļ·£
-D:\abc\data.xp33д
-(1) file://./D/abc/data.xp3 [ĬϷ]
-(2) D:\abc\data.xp3 [Windows·]
-(3) data.xp3 [棬ҪϷ·]
-
-3: DLL Inject
-Ӧ˵ڱֶΣΪһûҵֹ˷ij
-
-* 1 ɼexporterϢ
- helper/!exporteraddr.tpm Ĺʵʲôܶû= =
- кڳĿ¼µexporter_address.txtм¼һؼֵ
-
-* 2
- ϷĿ¼½arc_list.txtҪİ·ʽͬ2һ! ÿһУҪб
- Ŀǰֻ֧ASCII·ֵַ˵ͻᱯ
-
-* 3 һDLLע빤ߣĿxp3dumperע
- ѡ5minDllLoadeṛ
- - Ŀȵȶ״̬翪ʼ˵
- - ҵӦ̵pid(Ҫѡ˵ 鿴->ѡ йpidһ)tasklistָ
- - 룺
- ˵ D:\DllLoader 4321 D:\Tools\~xp3dumper0.11.tpm
-
-* 4깤
- עĴϲɼexporterĵַȻʼģʽ3ɡ
- һѡʹ־ļ
diff --git a/xp3dumper/xp3dumper/~xp3dumper0.12d.tpm b/xp3dumper/xp3dumper/~xp3dumper0.12d.tpm
deleted file mode 100644
index a4ddb88..0000000
Binary files a/xp3dumper/xp3dumper/~xp3dumper0.12d.tpm and /dev/null differ
diff --git a/xp3dumper/xp3maker/history.txt b/xp3dumper/xp3maker/history.txt
deleted file mode 100644
index 3549ea9..0000000
--- a/xp3dumper/xp3maker/history.txt
+++ /dev/null
@@ -1,7 +0,0 @@
-xp3maker.tpm
-xp3
-
-
-0.01 :
- ʵ汾ڲ˼·
-
diff --git a/xp3dumper/xp3maker/xp3enc.dll b/xp3dumper/xp3maker/xp3enc.dll
deleted file mode 100644
index fbb0261..0000000
Binary files a/xp3dumper/xp3maker/xp3enc.dll and /dev/null differ
diff --git a/xp3dumper/xp3maker/xp3maker.txt b/xp3dumper/xp3maker/xp3maker.txt
deleted file mode 100644
index aa9c18c..0000000
--- a/xp3dumper/xp3maker/xp3maker.txt
+++ /dev/null
@@ -1,17 +0,0 @@
-xp3maker 0.01
-ĿǰΪ棬Ľʲô֮ٿ
-
-~xp3maker.tpmserver
-Ϸмغص12000(10)˿ڡ
-
-xp3enc.dllkrkrreleaserõIJмܵʱͨӱؽõServer
-ȻݴݸServerServerԶԽܺ棬ٽؼõܽ
-
-ʹòǣ
-~xp3maker.tpmŵϷĿ¼£Ҳ㻹Ҫ!dumpHelperȻϷ
-ٽxp3enc.dllŵkrkrrel.exeĿ¼Ȼļ:)
-
-ԣ(һ)
-òĿ¼²xp3maker.txtļܺڴдŵĵַ(16)Ȼȥȡַڵֵ
-Ҳodvoid ::TVPSetXP3ArchiveExtractionFilter(tTVPXP3ArchiveExtractionFilter)صһ
-ʵӦûõmov [xxx], eaxָxxxļھͿɡ
diff --git a/xp3dumper/xp3maker/~xp3maker.tpm b/xp3dumper/xp3maker/~xp3maker.tpm
deleted file mode 100644
index 9949f0d..0000000
Binary files a/xp3dumper/xp3maker/~xp3maker.tpm and /dev/null differ
diff --git a/xp3dumper_gui.sln b/xp3dumper_gui.sln
index 5c3f977..43da440 100644
--- a/xp3dumper_gui.sln
+++ b/xp3dumper_gui.sln
@@ -1,6 +1,6 @@
-Microsoft Visual Studio Solution File, Format Version 10.00
-# Visual Studio 2008
+Microsoft Visual Studio Solution File, Format Version 11.00
+# Visual Studio 2010
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "xp3dumper_gui", "xp3dumper_gui\xp3dumper_gui.csproj", "{D852A983-B0FE-4B6E-8664-316BC13A8B16}"
EndProject
Global
@@ -17,4 +17,7 @@ Global
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ VisualSVNWorkingCopyRoot = .
+ EndGlobalSection
EndGlobal
diff --git a/xp3dumper_gui.suo b/xp3dumper_gui.suo
index d86c31c..2e80ca7 100644
Binary files a/xp3dumper_gui.suo and b/xp3dumper_gui.suo differ
diff --git a/xp3dumper_gui/Controller/Xp3Dumper.cs b/xp3dumper_gui/Controller/Xp3Dumper.cs
index 63946d4..7b3306a 100644
--- a/xp3dumper_gui/Controller/Xp3Dumper.cs
+++ b/xp3dumper_gui/Controller/Xp3Dumper.cs
@@ -1,7 +1,7 @@
using System;
-using Clowwindy.XP3Dumper.Utils;
-using Clowwindy.XP3Dumper.Resources;
using System.IO;
+using Clowwindy.XP3Dumper.Resources;
+using Clowwindy.XP3Dumper.Utils;
namespace Clowwindy.XP3Dumper.Controller
{
@@ -20,6 +20,7 @@ internal class Xp3Dumper
private const string DLLLOADER_FULL_FILENAME = XP3HELPERS_PATH + "DllLoader.exe";
private const string SORAAPP_FILENAME = @"\SoraApp\SoraApp.exe";
+ private string NTLEA_PATH = @"D:\Program Files (x86)\NTLEA\ntleac.exe";
private const string DUMPER_BUTTON_CLASS = "Button";
private const string DUMPER_BUTTON_TITLE = "模式3启动";
@@ -40,9 +41,16 @@ internal class Xp3Dumper
private bool finished = true;
+ internal enum UseStartLoader
+ {
+ None,
+ SoraApp,
+ NTLEA
+ }
+
internal Xp3Dumper()
{
- useSoraApp = false;
+ useLoader = UseStartLoader.None;
delay = 4;
codePage = "0411";
}
@@ -52,6 +60,7 @@ internal string BootFilename
get { return bootFilename; }
set { bootFilename = value; }
}
+
private string executeFilename;
internal string ExecuteFilename
@@ -59,6 +68,7 @@ internal string ExecuteFilename
get { return executeFilename; }
set { executeFilename = value; }
}
+
private string xp3Filename;
internal string Xp3Filename
@@ -66,6 +76,7 @@ internal string Xp3Filename
get { return xp3Filename; }
set { xp3Filename = value; }
}
+
private string savePath;
internal string SavePath
@@ -74,20 +85,25 @@ internal string SavePath
set { savePath = value; }
}
+ internal string NTLEAPath
+ {
+ get { return NTLEA_PATH; }
+ set { NTLEA_PATH = value; }
+ }
+
private string getGamePath()
{
return FileUtils.GetDirectoryName(bootFilename);
}
- private bool useSoraApp;
+ private UseStartLoader useLoader;
- internal bool UseSoraApp
+ internal UseStartLoader UseLoader
{
- get { return useSoraApp; }
- set { useSoraApp = value; }
+ get { return useLoader; }
+ set { useLoader = value; }
}
-
private int delay;
internal int Delay
@@ -157,7 +173,6 @@ internal string WaitForFinish()
return Resource.Finished;
}
-
internal string Finish()
{
try
@@ -196,21 +211,27 @@ internal string Cancel()
protected void startGame()
{
- if (useSoraApp)
+ try
{
- try
+ if (useLoader == UseStartLoader.SoraApp)
{
ProcessUtils.StartProcess(FileUtils.GetWinDir() + SORAAPP_FILENAME, codePage.Trim() + " " + this.bootFilename);
}
- catch (FileNotFoundException e)
+ else if (useLoader == UseStartLoader.NTLEA)
{
- throw new ArgumentException(Resource.SoraAppNotFound, e);
+ int iLCID = Convert.ToInt32(codePage.Trim(), 16);
+ ProcessUtils.StartProcess(NTLEA_PATH, String.Format("\"{0}\" C{1} L{2}", this.bootFilename, Win32APIUtils.GetLocaleCP(iLCID), iLCID));
+ }
+ else
+ {
+ ProcessUtils.StartProcess(this.bootFilename, null);
}
}
- else
+ catch (FileNotFoundException e)
{
- ProcessUtils.StartProcess(this.bootFilename, null);
+ throw new ArgumentException(Resource.LoaderNotFound, e);
}
+
waitUtilTrue(ProcessUtils.ExistsProcess, this.executeFilename);
}
@@ -225,7 +246,6 @@ protected void killGame()
waitUtilFalse(ProcessUtils.ExistsProcess, this.executeFilename);
}
-
protected void copyExportPlugin()
{
FileUtils.Copy(EXPORTER_FULL_FILENAME, FileUtils.CombinePath(getGamePath(), EXPORTER_FILENAME));
@@ -264,19 +284,18 @@ protected void runDllLoader()
protected void createArcList()
{
- FileUtils.WriteTextFile(FileUtils.CombinePath(getGamePath(), ARC_LIST_FILENAME), this.xp3Filename);
+ FileUtils.WriteTextFile(FileUtils.CombinePath(getGamePath(), ARC_LIST_FILENAME), this.xp3Filename.Replace(",", "\r\n"));
}
protected bool setWindowTextThenClickButton(String notUsed)
{
-
IntPtr hwndWin;
IntPtr hwndButton;
IntPtr hwndEditPath;
IntPtr hwndEditAddress;
hwndWin = ProcessUtils.FindWindow(null, DUMPER_WINDOW_TITLE);
- if (hwndWin.ToInt32()==0)
+ if (hwndWin.ToInt32() == 0)
{
return false;
}
@@ -298,10 +317,10 @@ protected bool dumpFinished(string notUsed)
return false;
}
return true;
-
}
protected delegate bool StringToBoolMethod(string argument);
+
protected void waitUtilTrue(StringToBoolMethod condition, string argument)
{
while (!condition(argument) && !finished)
@@ -310,6 +329,7 @@ protected void waitUtilTrue(StringToBoolMethod condition, string argument)
ProcessUtils.DoEvents();
}
}
+
protected void waitUtilFalse(StringToBoolMethod condition, string argument)
{
while (condition(argument) && !finished)
@@ -318,6 +338,5 @@ protected void waitUtilFalse(StringToBoolMethod condition, string argument)
ProcessUtils.DoEvents();
}
}
-
}
-}
+}
\ No newline at end of file
diff --git a/xp3dumper_gui/GUI/MainForm.Designer.cs b/xp3dumper_gui/GUI/MainForm.Designer.cs
index 25d922c..ff35d7b 100644
--- a/xp3dumper_gui/GUI/MainForm.Designer.cs
+++ b/xp3dumper_gui/GUI/MainForm.Designer.cs
@@ -51,6 +51,8 @@ private void InitializeComponent()
this.tbCodePage = new System.Windows.Forms.TextBox();
this.groupBox1 = new System.Windows.Forms.GroupBox();
this.groupBox2 = new System.Windows.Forms.GroupBox();
+ this.tbNTLEAPath = new System.Windows.Forms.TextBox();
+ this.buttonNTLEA = new System.Windows.Forms.Button();
this.lbStatus = new System.Windows.Forms.Label();
this.btnCancel = new System.Windows.Forms.Button();
((System.ComponentModel.ISupportInitialize)(this.numDelay)).BeginInit();
@@ -209,6 +211,8 @@ private void InitializeComponent()
//
// groupBox2
//
+ this.groupBox2.Controls.Add(this.tbNTLEAPath);
+ this.groupBox2.Controls.Add(this.buttonNTLEA);
this.groupBox2.Controls.Add(this.rbUseSoraApp);
this.groupBox2.Controls.Add(this.rbUseNTLEA);
this.groupBox2.Controls.Add(this.tbCodePage);
@@ -220,6 +224,19 @@ private void InitializeComponent()
this.groupBox2.Name = "groupBox2";
this.groupBox2.TabStop = false;
//
+ // tbNTLEAPath
+ //
+ resources.ApplyResources(this.tbNTLEAPath, "tbNTLEAPath");
+ this.tbNTLEAPath.Name = "tbNTLEAPath";
+ this.tbNTLEAPath.TextChanged += new System.EventHandler(this.tbNTLEAPath_TextChanged);
+ //
+ // buttonNTLEA
+ //
+ resources.ApplyResources(this.buttonNTLEA, "buttonNTLEA");
+ this.buttonNTLEA.Name = "buttonNTLEA";
+ this.buttonNTLEA.UseVisualStyleBackColor = true;
+ this.buttonNTLEA.Click += new System.EventHandler(this.buttonNTLEA_Click);
+ //
// lbStatus
//
resources.ApplyResources(this.lbStatus, "lbStatus");
@@ -282,5 +299,7 @@ private void InitializeComponent()
private System.Windows.Forms.GroupBox groupBox2;
private System.Windows.Forms.Label lbStatus;
private System.Windows.Forms.Button btnCancel;
+ private System.Windows.Forms.Button buttonNTLEA;
+ private System.Windows.Forms.TextBox tbNTLEAPath;
}
}
\ No newline at end of file
diff --git a/xp3dumper_gui/GUI/MainForm.cs b/xp3dumper_gui/GUI/MainForm.cs
index cab2b30..5311f05 100644
--- a/xp3dumper_gui/GUI/MainForm.cs
+++ b/xp3dumper_gui/GUI/MainForm.cs
@@ -3,10 +3,11 @@
using System.ComponentModel;
using System.Data;
using System.Drawing;
+using System.IO;
+using System.Reflection;
using System.Text;
using System.Windows.Forms;
using Clowwindy.XP3Dumper.Controller;
-using System.Reflection;
using Clowwindy.XP3Dumper.Utils;
namespace Clowwindy.XP3Dumper.GUI
@@ -29,9 +30,15 @@ private void initDumper()
dumper.ExecuteFilename = tbExcuteFilename.Text;
dumper.Xp3Filename = tbXp3Filename.Text;
dumper.SavePath = tbSavePath.Text;
- dumper.UseSoraApp = rbUseSoraApp.Checked;
dumper.CodePage = tbCodePage.Text;
dumper.Delay = (int)numDelay.Value;
+
+ if (rbUseSoraApp.Checked)
+ dumper.UseLoader = Xp3Dumper.UseStartLoader.SoraApp;
+ else if (rbUseNTLEA.Checked)
+ dumper.UseLoader = Xp3Dumper.UseStartLoader.NTLEA;
+ else
+ dumper.UseLoader = Xp3Dumper.UseStartLoader.None;
}
private string startDumper()
@@ -59,11 +66,26 @@ private void btnStart_Click(object sender, EventArgs e)
private void MainForm_Load(object sender, EventArgs e)
{
+ FlushConfigFile();
+
Version version = Assembly.GetExecutingAssembly().GetName().Version;
this.Text += String.Format(" {0}.{1}", version.Major, version.Minor);
openDialog = new OpenFileDialog();
openDialog.RestoreDirectory = true;
folderDialog = new FolderBrowserDialog();
+
+ tbNTLEAPath.Text = Properties.Settings.Default.NTLEAPath;
+ }
+
+ private void FlushConfigFile()
+ {
+ string configFileName = System.Windows.Forms.Application.ExecutablePath + ".config";
+ if (!File.Exists(configFileName))
+ {
+ StreamWriter bw = new StreamWriter(new FileStream(configFileName, FileMode.Create), System.Text.Encoding.UTF8);
+ bw.Write(Properties.Resources.app_config);
+ bw.Close();
+ }
}
private void rbUseNone_CheckedChanged(object sender, EventArgs e)
@@ -85,6 +107,7 @@ private void btnCancel_Click(object sender, EventArgs e)
private void btnBootFilename_Click(object sender, EventArgs e)
{
openDialog.FileName = tbBootFilename.Text;
+ openDialog.Filter = "*.exe|*.exe|*.*|*.*";
if (openDialog.ShowDialog() == DialogResult.OK)
{
tbBootFilename.Text = openDialog.FileName;
@@ -102,6 +125,7 @@ private void btnBootFilename_Click(object sender, EventArgs e)
private void btnExcuteFilename_Click(object sender, EventArgs e)
{
openDialog.FileName = tbBootFilename.Text;
+ openDialog.Filter = "*.exe|*.exe|*.*|*.*";
if (openDialog.ShowDialog() == DialogResult.OK)
{
tbExcuteFilename.Text = FileUtils.GetFileName(openDialog.FileName);
@@ -111,6 +135,7 @@ private void btnExcuteFilename_Click(object sender, EventArgs e)
private void btnExtractFilename_Click(object sender, EventArgs e)
{
openDialog.FileName = tbBootFilename.Text;
+ openDialog.Filter = "*.xp3|*.xp3|*.*|*.*";
if (openDialog.ShowDialog() == DialogResult.OK)
{
tbXp3Filename.Text = FileUtils.GetFileName(openDialog.FileName);
@@ -125,5 +150,20 @@ private void btnSavePath_Click(object sender, EventArgs e)
tbSavePath.Text = folderDialog.SelectedPath;
}
}
+
+ private void buttonNTLEA_Click(object sender, EventArgs e)
+ {
+ openDialog.FileName = tbNTLEAPath.Text;
+ openDialog.Filter = "ntleac.exe|ntleac.exe";
+ if (openDialog.ShowDialog() == DialogResult.OK)
+ {
+ tbNTLEAPath.Text = openDialog.FileName;
+ }
+ }
+
+ private void tbNTLEAPath_TextChanged(object sender, EventArgs e)
+ {
+ SettingUtils.Change("NTLEAPath", tbNTLEAPath.Text);
+ }
}
-}
+}
\ No newline at end of file
diff --git a/xp3dumper_gui/GUI/MainForm.resx b/xp3dumper_gui/GUI/MainForm.resx
index 3f8e6d6..fd30436 100644
--- a/xp3dumper_gui/GUI/MainForm.resx
+++ b/xp3dumper_gui/GUI/MainForm.resx
@@ -123,7 +123,7 @@
- 6, 17
+ 6, 25
287, 12
@@ -150,7 +150,7 @@
True
- 6, 56
+ 6, 64
179, 12
@@ -174,7 +174,7 @@
1
- 4, 32
+ 4, 40
219, 21
@@ -195,7 +195,7 @@
2
- 4, 71
+ 4, 79
219, 21
@@ -216,7 +216,7 @@
3
- 4, 110
+ 4, 118
219, 21
@@ -240,16 +240,16 @@
True
- 6, 95
+ 6, 103
- 179, 12
+ 299, 12
5
- 要解包的xp3文件(不含路径):
+ 目标xp3文件(不含路径,多个包可用半角逗号分隔):
label3
@@ -264,7 +264,7 @@
5
- 363, 219
+ 364, 239
75, 23
@@ -291,7 +291,7 @@
True
- 5, 138
+ 6, 143
77, 12
@@ -315,7 +315,7 @@
7
- 4, 152
+ 4, 160
219, 21
@@ -360,25 +360,22 @@
groupBox2
- 0
+ 2
True
-
- False
-
13, 43
- 149, 16
+ 77, 16
10
- 使用NTLEA(暂不支持)
+ 使用NTLEA
rbUseNTLEA
@@ -390,13 +387,13 @@
groupBox2
- 1
+ 3
True
- 12, 66
+ 13, 93
59, 16
@@ -417,10 +414,10 @@
groupBox2
- 5
+ 7
- 230, 32
+ 230, 40
75, 23
@@ -444,7 +441,7 @@
11
- 230, 69
+ 230, 77
75, 23
@@ -468,7 +465,7 @@
10
- 230, 108
+ 230, 116
75, 23
@@ -492,7 +489,7 @@
8
- 230, 150
+ 230, 158
75, 23
@@ -516,7 +513,7 @@
6
- 13, 153
+ 14, 174
62, 21
@@ -534,13 +531,13 @@
groupBox2
- 3
+ 5
True
- 11, 138
+ 12, 159
125, 12
@@ -561,13 +558,13 @@
groupBox2
- 4
+ 6
True
- 11, 95
+ 12, 116
53, 12
@@ -588,13 +585,13 @@
groupBox2
- 6
+ 8
False
- 12, 110
+ 13, 131
62, 21
@@ -615,13 +612,13 @@
groupBox2
- 2
+ 4
12, 12
- 319, 190
+ 319, 205
18
@@ -638,11 +635,56 @@
2
+
+ 13, 66
+
+
+ 155, 21
+
+
+ 19
+
+
+ tbNTLEAPath
+
+
+ System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ groupBox2
+
+
+ 0
+
+
+ 121, 40
+
+
+ 47, 23
+
+
+ 18
+
+
+ 浏览
+
+
+ buttonNTLEA
+
+
+ System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ groupBox2
+
+
+ 1
+
351, 12
- 174, 190
+ 174, 205
19
@@ -660,7 +702,7 @@
1
- 14, 224
+ 12, 232
317, 36
@@ -687,7 +729,7 @@
False
- 444, 219
+ 445, 239
75, 23
@@ -720,7 +762,7 @@
True
- 537, 266
+ 537, 278
diff --git a/xp3dumper_gui/Properties/AssemblyInfo.cs b/xp3dumper_gui/Properties/AssemblyInfo.cs
index f574704..517691f 100644
--- a/xp3dumper_gui/Properties/AssemblyInfo.cs
+++ b/xp3dumper_gui/Properties/AssemblyInfo.cs
@@ -25,12 +25,12 @@
// 程序集的版本信息由下面四个值组成:
//
// 主版本
-// 次版本
+// 次版本
// 内部版本号
// 修订号
//
// 可以指定所有这些值,也可以使用“内部版本号”和“修订号”的默认值,
// 方法是按如下所示使用“*”:
// [assembly: AssemblyVersion("1.0.*")]
-[assembly: AssemblyVersion("0.2.*")]
-//[assembly: AssemblyFileVersion("0.1.*.*")]
+[assembly: AssemblyVersion("0.3.*")]
+//[assembly: AssemblyFileVersion("0.1.*.*")]
\ No newline at end of file
diff --git a/xp3dumper_gui/Properties/Resources.Designer.cs b/xp3dumper_gui/Properties/Resources.Designer.cs
index dc084d6..19edca2 100644
--- a/xp3dumper_gui/Properties/Resources.Designer.cs
+++ b/xp3dumper_gui/Properties/Resources.Designer.cs
@@ -1,7 +1,7 @@
//------------------------------------------------------------------------------
//
// 此代码由工具生成。
-// 运行库版本:2.0.50727.3615
+// 运行时版本:4.0.30319.1
//
// 对此文件的更改可能会导致不正确的行为,并且如果
// 重新生成代码,这些更改将会丢失。
@@ -13,13 +13,13 @@ namespace Clowwindy.XP3Dumper.Properties {
///
- /// 强类型资源类,用于查找本地化字符串等。
+ /// 一个强类型的资源类,用于查找本地化的字符串等。
///
// 此类是由 StronglyTypedResourceBuilder
// 类通过类似于 ResGen 或 Visual Studio 的工具自动生成的。
// 若要添加或移除成员,请编辑 .ResX 文件,然后重新运行 ResGen
// (以 /str 作为命令选项),或重新生成 VS 项目。
- [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "2.0.0.0")]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
internal class Resources {
@@ -33,7 +33,7 @@ internal Resources() {
}
///
- /// 返回此类使用的缓存 ResourceManager 实例。
+ /// 返回此类使用的缓存的 ResourceManager 实例。
///
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Resources.ResourceManager ResourceManager {
@@ -47,7 +47,7 @@ internal Resources() {
}
///
- /// 为使用此强类型资源类的所有资源查找
+ /// 使用此强类型资源类,为所有资源查找
/// 重写当前线程的 CurrentUICulture 属性。
///
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
@@ -59,5 +59,20 @@ internal Resources() {
resourceCulture = value;
}
}
+
+ ///
+ /// 查找类似 <?xml version="1.0" encoding="utf-8" ?>
+ ///<configuration>
+ /// <configSections>
+ /// <sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
+ /// <section name="Clowwindy.XP3Dumper.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
+ /// </sectionGroup>
+ /// [字符串的其余部分被截断]"; 的本地化字符串。
+ ///
+ internal static string app_config {
+ get {
+ return ResourceManager.GetString("app_config", resourceCulture);
+ }
+ }
}
}
diff --git a/xp3dumper_gui/Properties/Resources.resx b/xp3dumper_gui/Properties/Resources.resx
index ffecec8..49526fc 100644
--- a/xp3dumper_gui/Properties/Resources.resx
+++ b/xp3dumper_gui/Properties/Resources.resx
@@ -46,7 +46,7 @@
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
- : System.Serialization.Formatters.Binary.BinaryFormatter
+ : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
@@ -60,6 +60,7 @@
: and then encoded with base64 encoding.
-->
+
@@ -68,9 +69,10 @@
-
+
+
@@ -85,9 +87,10 @@
-
+
+
@@ -114,4 +117,8 @@
System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ ..\app.config;System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;utf-8
+
\ No newline at end of file
diff --git a/xp3dumper_gui/Properties/Settings.Designer.cs b/xp3dumper_gui/Properties/Settings.Designer.cs
index 4210af9..71a16c7 100644
--- a/xp3dumper_gui/Properties/Settings.Designer.cs
+++ b/xp3dumper_gui/Properties/Settings.Designer.cs
@@ -1,7 +1,7 @@
//------------------------------------------------------------------------------
//
// 此代码由工具生成。
-// 运行库版本:2.0.50727.3615
+// 运行时版本:4.0.30319.1
//
// 对此文件的更改可能会导致不正确的行为,并且如果
// 重新生成代码,这些更改将会丢失。
@@ -12,7 +12,7 @@ namespace Clowwindy.XP3Dumper.Properties {
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
- [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "9.0.0.0")]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "10.0.0.0")]
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
@@ -22,5 +22,14 @@ public static Settings Default {
return defaultInstance;
}
}
+
+ [global::System.Configuration.ApplicationScopedSettingAttribute()]
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.Configuration.DefaultSettingValueAttribute("C:\\Program Files\\NTLEA\\ntleac.exe")]
+ public string NTLEAPath {
+ get {
+ return ((string)(this["NTLEAPath"]));
+ }
+ }
}
}
diff --git a/xp3dumper_gui/Properties/Settings.settings b/xp3dumper_gui/Properties/Settings.settings
index abf36c5..b105d37 100644
--- a/xp3dumper_gui/Properties/Settings.settings
+++ b/xp3dumper_gui/Properties/Settings.settings
@@ -1,7 +1,9 @@
-
-
-
-
-
-
+
+
+
+
+ C:\Program Files\NTLEA\ntleac.exe
+
+
+
\ No newline at end of file
diff --git a/xp3dumper_gui/Readme.txt b/xp3dumper_gui/Readme.txt
index 1c80898..1979c8d 100644
--- a/xp3dumper_gui/Readme.txt
+++ b/xp3dumper_gui/Readme.txt
@@ -1,9 +1,15 @@
XP3 Dumper GUI
-
-作者:clowwindy
-
本程序是对Resty做的xp3dumper等一系列xp3提取工具的GUI封装,提供简单的GUI调用功能。这些工具在xp3dumper目录中。
+Ver 0.3 新增功能说明:
+ NTLEA 支持:
+ 使用 NTLEA 支持之前请选定 ntleac.exe 位置并确认其正确性。
+ 同时提取多个封包:
+ 请在封包名之间以『半角逗号』分隔,例如 "data.xp3,bgm.xp3"(不带引号)。
+
+amemiya
+2011-1-31
+
使用说明:
1.选择游戏启动exe和执行exe,它们的区别在于前者可能只是一个引导用的破解补丁(如sinsemilla_boot.exe),后者才会是游戏运行时的进程(如sinsemilla.exe)。如果没有这样的引导程序,它们就是同一个exe文件。
2.选择要解包的xp3文件和保存路径。
@@ -11,7 +17,7 @@
4.点击“提取”,稍等几秒,就会开始提取。如果没有开始提取,请点击取消,再按照5操作。
5.如果发现没有开始提取,这是因为游戏启动花的时间较长,请将载入插件延时调大一些再尝试。
-已在中文win xp上测试『黄昏のシンセミア』和『G線上の魔王』的解包。
+ 已在中文win xp上测试『黄昏のシンセミア』和『G線上の魔王』的解包。
clowwindy
2010-9-24
@@ -20,5 +26,6 @@ BUG反馈:
http://bbs.sumisora.org/read.php?tid=10975710
History:
+ 0.3 新增 NTLEA 支持,支持同时提取多个封包
0.2 在xp3dumper0.12d的基础上,实现判断提取结束功能
0.1 第一个公开版本
diff --git a/xp3dumper_gui/Resources/Resource.Designer.cs b/xp3dumper_gui/Resources/Resource.Designer.cs
index eabffe1..7fa2172 100644
--- a/xp3dumper_gui/Resources/Resource.Designer.cs
+++ b/xp3dumper_gui/Resources/Resource.Designer.cs
@@ -1,7 +1,7 @@
//------------------------------------------------------------------------------
//
// 此代码由工具生成。
-// 运行库版本:2.0.50727.3615
+// 运行时版本:4.0.30319.1
//
// 对此文件的更改可能会导致不正确的行为,并且如果
// 重新生成代码,这些更改将会丢失。
@@ -13,13 +13,13 @@ namespace Clowwindy.XP3Dumper.Resources {
///
- /// 强类型资源类,用于查找本地化字符串等。
+ /// 一个强类型的资源类,用于查找本地化的字符串等。
///
// 此类是由 StronglyTypedResourceBuilder
// 类通过类似于 ResGen 或 Visual Studio 的工具自动生成的。
// 若要添加或移除成员,请编辑 .ResX 文件,然后重新运行 ResGen
// (以 /str 作为命令选项),或重新生成 VS 项目。
- [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "2.0.0.0")]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
internal class Resource {
@@ -33,7 +33,7 @@ internal Resource() {
}
///
- /// 返回此类使用的缓存 ResourceManager 实例。
+ /// 返回此类使用的缓存的 ResourceManager 实例。
///
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Resources.ResourceManager ResourceManager {
@@ -47,7 +47,7 @@ internal Resource() {
}
///
- /// 为使用此强类型资源类的所有资源查找
+ /// 使用此强类型资源类,为所有资源查找
/// 重写当前线程的 CurrentUICulture 属性。
///
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
@@ -79,20 +79,20 @@ internal static string Finished {
}
///
- /// 查找类似 请检查日志文件。 的本地化字符串。
+ /// 查找类似 未找到相应启动载入工具。 的本地化字符串。
///
- internal static string SeeLog {
+ internal static string LoaderNotFound {
get {
- return ResourceManager.GetString("SeeLog", resourceCulture);
+ return ResourceManager.GetString("LoaderNotFound", resourceCulture);
}
}
///
- /// 查找类似 未找到SoraApp。 的本地化字符串。
+ /// 查找类似 请检查日志文件。 的本地化字符串。
///
- internal static string SoraAppNotFound {
+ internal static string SeeLog {
get {
- return ResourceManager.GetString("SoraAppNotFound", resourceCulture);
+ return ResourceManager.GetString("SeeLog", resourceCulture);
}
}
diff --git a/xp3dumper_gui/Resources/Resource.resx b/xp3dumper_gui/Resources/Resource.resx
index 888aec6..69b7201 100644
--- a/xp3dumper_gui/Resources/Resource.resx
+++ b/xp3dumper_gui/Resources/Resource.resx
@@ -123,12 +123,12 @@
提取完成。
+
+ 未找到相应启动载入工具。
+
请检查日志文件。
-
- 未找到SoraApp。
-
正在提取中,请稍候。
diff --git a/Utils/SettingUtils.cs b/xp3dumper_gui/Utils/SettingUtils.cs
similarity index 100%
rename from Utils/SettingUtils.cs
rename to xp3dumper_gui/Utils/SettingUtils.cs
diff --git a/Utils/Win32APIUtils.cs b/xp3dumper_gui/Utils/Win32APIUtils.cs
similarity index 100%
rename from Utils/Win32APIUtils.cs
rename to xp3dumper_gui/Utils/Win32APIUtils.cs
diff --git a/bin/Release/xp3dumper_gui.vshost.exe.config b/xp3dumper_gui/app.config
similarity index 100%
rename from bin/Release/xp3dumper_gui.vshost.exe.config
rename to xp3dumper_gui/app.config
diff --git a/xp3dumper_gui/obj/Debug/Clowwindy.XP3Dumper.GUI.MainForm.resources b/xp3dumper_gui/obj/Debug/Clowwindy.XP3Dumper.GUI.MainForm.resources
index 934edf8..a243801 100644
Binary files a/xp3dumper_gui/obj/Debug/Clowwindy.XP3Dumper.GUI.MainForm.resources and b/xp3dumper_gui/obj/Debug/Clowwindy.XP3Dumper.GUI.MainForm.resources differ
diff --git a/xp3dumper_gui/obj/Debug/Clowwindy.XP3Dumper.Properties.Resources.resources b/xp3dumper_gui/obj/Debug/Clowwindy.XP3Dumper.Properties.Resources.resources
index 06c24d0..e85fc07 100644
Binary files a/xp3dumper_gui/obj/Debug/Clowwindy.XP3Dumper.Properties.Resources.resources and b/xp3dumper_gui/obj/Debug/Clowwindy.XP3Dumper.Properties.Resources.resources differ
diff --git a/xp3dumper_gui/obj/Debug/Clowwindy.XP3Dumper.Resources.Resource.resources b/xp3dumper_gui/obj/Debug/Clowwindy.XP3Dumper.Resources.Resource.resources
index 8ce6522..e191f58 100644
Binary files a/xp3dumper_gui/obj/Debug/Clowwindy.XP3Dumper.Resources.Resource.resources and b/xp3dumper_gui/obj/Debug/Clowwindy.XP3Dumper.Resources.Resource.resources differ
diff --git a/xp3dumper_gui/obj/Debug/TempPE/Properties.Resources.Designer.cs.dll b/xp3dumper_gui/obj/Debug/TempPE/Properties.Resources.Designer.cs.dll
index 2b893d8..07fe97b 100644
Binary files a/xp3dumper_gui/obj/Debug/TempPE/Properties.Resources.Designer.cs.dll and b/xp3dumper_gui/obj/Debug/TempPE/Properties.Resources.Designer.cs.dll differ
diff --git a/xp3dumper_gui/obj/Debug/TempPE/Resources.Resource.Designer.cs.dll b/xp3dumper_gui/obj/Debug/TempPE/Resources.Resource.Designer.cs.dll
index 8be0641..b2ba25d 100644
Binary files a/xp3dumper_gui/obj/Debug/TempPE/Resources.Resource.Designer.cs.dll and b/xp3dumper_gui/obj/Debug/TempPE/Resources.Resource.Designer.cs.dll differ
diff --git a/xp3dumper_gui/obj/Debug/xp3dumper_gui.TrustInfo.xml b/xp3dumper_gui/obj/Debug/xp3dumper_gui.TrustInfo.xml
index 13e5264..a22ca43 100644
--- a/xp3dumper_gui/obj/Debug/xp3dumper_gui.TrustInfo.xml
+++ b/xp3dumper_gui/obj/Debug/xp3dumper_gui.TrustInfo.xml
@@ -1,4 +1,4 @@
-