mirror of
https://github.com/suloku/wc-tool.git
synced 2026-03-21 17:44:07 -05:00
First release, probably lots of unknown bugs.
This commit is contained in:
commit
f0660e1c7a
236
.gitignore
vendored
Normal file
236
.gitignore
vendored
Normal file
|
|
@ -0,0 +1,236 @@
|
|||
## Ignore Visual Studio temporary files, build results, and
|
||||
## files generated by popular Visual Studio add-ons.
|
||||
|
||||
# User-specific files
|
||||
*.suo
|
||||
*.user
|
||||
*.userosscache
|
||||
*.sln.docstates
|
||||
|
||||
# User-specific files (MonoDevelop/Xamarin Studio)
|
||||
*.userprefs
|
||||
|
||||
# Build results
|
||||
[Dd]ebug/
|
||||
[Dd]ebugPublic/
|
||||
[Rr]elease/
|
||||
[Rr]eleases/
|
||||
x64/
|
||||
x86/
|
||||
bld/
|
||||
[Bb]in/
|
||||
[Oo]bj/
|
||||
|
||||
# Visual Studio 2015 cache/options directory
|
||||
.vs/
|
||||
# Uncomment if you have tasks that create the project's static files in wwwroot
|
||||
#wwwroot/
|
||||
|
||||
# MSTest test Results
|
||||
[Tt]est[Rr]esult*/
|
||||
[Bb]uild[Ll]og.*
|
||||
|
||||
# NUNIT
|
||||
*.VisualState.xml
|
||||
TestResult.xml
|
||||
|
||||
# Build Results of an ATL Project
|
||||
[Dd]ebugPS/
|
||||
[Rr]eleasePS/
|
||||
dlldata.c
|
||||
|
||||
# DNX
|
||||
project.lock.json
|
||||
artifacts/
|
||||
|
||||
*_i.c
|
||||
*_p.c
|
||||
*_i.h
|
||||
*.ilk
|
||||
*.meta
|
||||
*.obj
|
||||
*.pch
|
||||
*.pdb
|
||||
*.pgc
|
||||
*.pgd
|
||||
*.rsp
|
||||
*.sbr
|
||||
*.tlb
|
||||
*.tli
|
||||
*.tlh
|
||||
*.tmp
|
||||
*.tmp_proj
|
||||
*.log
|
||||
*.vspscc
|
||||
*.vssscc
|
||||
.builds
|
||||
*.pidb
|
||||
*.svclog
|
||||
*.scc
|
||||
|
||||
# Chutzpah Test files
|
||||
_Chutzpah*
|
||||
|
||||
# Visual C++ cache files
|
||||
ipch/
|
||||
*.aps
|
||||
*.ncb
|
||||
*.opendb
|
||||
*.opensdf
|
||||
*.sdf
|
||||
*.cachefile
|
||||
|
||||
# Visual Studio profiler
|
||||
*.psess
|
||||
*.vsp
|
||||
*.vspx
|
||||
*.sap
|
||||
|
||||
# TFS 2012 Local Workspace
|
||||
$tf/
|
||||
|
||||
# Guidance Automation Toolkit
|
||||
*.gpState
|
||||
|
||||
# ReSharper is a .NET coding add-in
|
||||
_ReSharper*/
|
||||
*.[Rr]e[Ss]harper
|
||||
*.DotSettings.user
|
||||
|
||||
# JustCode is a .NET coding add-in
|
||||
.JustCode
|
||||
|
||||
# TeamCity is a build add-in
|
||||
_TeamCity*
|
||||
|
||||
# DotCover is a Code Coverage Tool
|
||||
*.dotCover
|
||||
|
||||
# NCrunch
|
||||
_NCrunch_*
|
||||
.*crunch*.local.xml
|
||||
nCrunchTemp_*
|
||||
|
||||
# MightyMoose
|
||||
*.mm.*
|
||||
AutoTest.Net/
|
||||
|
||||
# Web workbench (sass)
|
||||
.sass-cache/
|
||||
|
||||
# Installshield output folder
|
||||
[Ee]xpress/
|
||||
|
||||
# DocProject is a documentation generator add-in
|
||||
DocProject/buildhelp/
|
||||
DocProject/Help/*.HxT
|
||||
DocProject/Help/*.HxC
|
||||
DocProject/Help/*.hhc
|
||||
DocProject/Help/*.hhk
|
||||
DocProject/Help/*.hhp
|
||||
DocProject/Help/Html2
|
||||
DocProject/Help/html
|
||||
|
||||
# Click-Once directory
|
||||
publish/
|
||||
|
||||
# Publish Web Output
|
||||
*.[Pp]ublish.xml
|
||||
*.azurePubxml
|
||||
# TODO: Comment the next line if you want to checkin your web deploy settings
|
||||
# but database connection strings (with potential passwords) will be unencrypted
|
||||
*.pubxml
|
||||
*.publishproj
|
||||
|
||||
# NuGet Packages
|
||||
*.nupkg
|
||||
# The packages folder can be ignored because of Package Restore
|
||||
**/packages/*
|
||||
# except build/, which is used as an MSBuild target.
|
||||
!**/packages/build/
|
||||
# Uncomment if necessary however generally it will be regenerated when needed
|
||||
#!**/packages/repositories.config
|
||||
# NuGet v3's project.json files produces more ignoreable files
|
||||
*.nuget.props
|
||||
*.nuget.targets
|
||||
|
||||
# Microsoft Azure Build Output
|
||||
csx/
|
||||
*.build.csdef
|
||||
|
||||
# Microsoft Azure Emulator
|
||||
ecf/
|
||||
rcf/
|
||||
|
||||
# Microsoft Azure ApplicationInsights config file
|
||||
ApplicationInsights.config
|
||||
|
||||
# Windows Store app package directory
|
||||
AppPackages/
|
||||
BundleArtifacts/
|
||||
|
||||
# Visual Studio cache files
|
||||
# files ending in .cache can be ignored
|
||||
*.[Cc]ache
|
||||
# but keep track of directories ending in .cache
|
||||
!*.[Cc]ache/
|
||||
|
||||
# Others
|
||||
ClientBin/
|
||||
~$*
|
||||
*~
|
||||
*.dbmdl
|
||||
*.dbproj.schemaview
|
||||
*.pfx
|
||||
*.publishsettings
|
||||
node_modules/
|
||||
orleans.codegen.cs
|
||||
|
||||
# RIA/Silverlight projects
|
||||
Generated_Code/
|
||||
|
||||
# Backup & report files from converting an old project file
|
||||
# to a newer Visual Studio version. Backup files are not needed,
|
||||
# because we have git ;-)
|
||||
_UpgradeReport_Files/
|
||||
Backup*/
|
||||
UpgradeLog*.XML
|
||||
UpgradeLog*.htm
|
||||
|
||||
# SQL Server files
|
||||
*.mdf
|
||||
*.ldf
|
||||
|
||||
# Business Intelligence projects
|
||||
*.rdl.data
|
||||
*.bim.layout
|
||||
*.bim_*.settings
|
||||
|
||||
# Microsoft Fakes
|
||||
FakesAssemblies/
|
||||
|
||||
# GhostDoc plugin setting file
|
||||
*.GhostDoc.xml
|
||||
|
||||
# Node.js Tools for Visual Studio
|
||||
.ntvs_analysis.dat
|
||||
|
||||
# Visual Studio 6 build log
|
||||
*.plg
|
||||
|
||||
# Visual Studio 6 workspace options file
|
||||
*.opt
|
||||
|
||||
# Visual Studio LightSwitch build output
|
||||
**/*.HTMLClient/GeneratedArtifacts
|
||||
**/*.DesktopClient/GeneratedArtifacts
|
||||
**/*.DesktopClient/ModelManifest.xml
|
||||
**/*.Server/GeneratedArtifacts
|
||||
**/*.Server/ModelManifest.xml
|
||||
_Pvt_Extensions
|
||||
|
||||
# Paket dependency manager
|
||||
.paket/paket.exe
|
||||
|
||||
# FAKE - F# Make
|
||||
.fake/
|
||||
18
WC3_TOOL.sln
Normal file
18
WC3_TOOL.sln
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
|
||||
Microsoft Visual Studio Solution File, Format Version 11.00
|
||||
# Visual Studio 2010
|
||||
# SharpDevelop 5.1
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WC3_TOOL", "WC3_TOOL\WC3_TOOL.csproj", "{1E65C335-2DE3-410B-B713-5F7B023106CD}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Any CPU = Debug|Any CPU
|
||||
Release|Any CPU = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{1E65C335-2DE3-410B-B713-5F7B023106CD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{1E65C335-2DE3-410B-B713-5F7B023106CD}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{1E65C335-2DE3-410B-B713-5F7B023106CD}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{1E65C335-2DE3-410B-B713-5F7B023106CD}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
EndGlobalSection
|
||||
EndGlobal
|
||||
399
wc3_tool/EventTool.Designer.cs
generated
Normal file
399
wc3_tool/EventTool.Designer.cs
generated
Normal file
|
|
@ -0,0 +1,399 @@
|
|||
/*
|
||||
* Created by SharpDevelop.
|
||||
* User: suloku
|
||||
* Date: 29/04/2016
|
||||
* Time: 13:45
|
||||
*
|
||||
* To change this template use Tools | Options | Coding | Edit Standard Headers.
|
||||
*/
|
||||
namespace WC3_TOOL
|
||||
{
|
||||
partial class EventTool
|
||||
{
|
||||
/// <summary>
|
||||
/// Designer variable used to keep track of non-visual components.
|
||||
/// </summary>
|
||||
private System.ComponentModel.IContainer components = null;
|
||||
private System.Windows.Forms.Button load_save_but;
|
||||
private System.Windows.Forms.TextBox sav3_path;
|
||||
private System.Windows.Forms.Button region_but;
|
||||
private System.Windows.Forms.ComboBox game_box;
|
||||
private System.Windows.Forms.ComboBox language_box;
|
||||
private System.Windows.Forms.Label region_lab;
|
||||
private System.Windows.Forms.Button inject_sav;
|
||||
private System.Windows.Forms.RadioButton jap_eon;
|
||||
private System.Windows.Forms.RadioButton jap_aurora;
|
||||
private System.Windows.Forms.GroupBox JAP_group;
|
||||
private System.Windows.Forms.RadioButton jap_old;
|
||||
private System.Windows.Forms.RadioButton jap_mystic;
|
||||
private System.Windows.Forms.GroupBox USA_group;
|
||||
private System.Windows.Forms.RadioButton usa_eon_italy;
|
||||
private System.Windows.Forms.RadioButton usa_mystic;
|
||||
private System.Windows.Forms.RadioButton usa_aurora;
|
||||
private System.Windows.Forms.RadioButton usa_eon_ecard;
|
||||
private System.Windows.Forms.GroupBox EUR_group;
|
||||
private System.Windows.Forms.RadioButton eur_eon;
|
||||
private System.Windows.Forms.RadioButton eur_aurora;
|
||||
private System.Windows.Forms.Label label1;
|
||||
private System.Windows.Forms.Label label2;
|
||||
private System.Windows.Forms.Label label3;
|
||||
private System.Windows.Forms.Label label4;
|
||||
private System.Windows.Forms.Label label5;
|
||||
private System.Windows.Forms.Label label6;
|
||||
|
||||
/// <summary>
|
||||
/// Disposes resources used by the form.
|
||||
/// </summary>
|
||||
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing) {
|
||||
if (components != null) {
|
||||
components.Dispose();
|
||||
}
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// This method is required for Windows Forms designer support.
|
||||
/// Do not change the method contents inside the source code editor. The Forms designer might
|
||||
/// not be able to load this method if it was changed manually.
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
this.load_save_but = new System.Windows.Forms.Button();
|
||||
this.sav3_path = new System.Windows.Forms.TextBox();
|
||||
this.region_but = new System.Windows.Forms.Button();
|
||||
this.game_box = new System.Windows.Forms.ComboBox();
|
||||
this.language_box = new System.Windows.Forms.ComboBox();
|
||||
this.region_lab = new System.Windows.Forms.Label();
|
||||
this.inject_sav = new System.Windows.Forms.Button();
|
||||
this.jap_eon = new System.Windows.Forms.RadioButton();
|
||||
this.jap_aurora = new System.Windows.Forms.RadioButton();
|
||||
this.JAP_group = new System.Windows.Forms.GroupBox();
|
||||
this.jap_old = new System.Windows.Forms.RadioButton();
|
||||
this.jap_mystic = new System.Windows.Forms.RadioButton();
|
||||
this.USA_group = new System.Windows.Forms.GroupBox();
|
||||
this.usa_eon_italy = new System.Windows.Forms.RadioButton();
|
||||
this.usa_mystic = new System.Windows.Forms.RadioButton();
|
||||
this.usa_aurora = new System.Windows.Forms.RadioButton();
|
||||
this.usa_eon_ecard = new System.Windows.Forms.RadioButton();
|
||||
this.EUR_group = new System.Windows.Forms.GroupBox();
|
||||
this.eur_eon = new System.Windows.Forms.RadioButton();
|
||||
this.eur_aurora = new System.Windows.Forms.RadioButton();
|
||||
this.label1 = new System.Windows.Forms.Label();
|
||||
this.label2 = new System.Windows.Forms.Label();
|
||||
this.label3 = new System.Windows.Forms.Label();
|
||||
this.label4 = new System.Windows.Forms.Label();
|
||||
this.label5 = new System.Windows.Forms.Label();
|
||||
this.label6 = new System.Windows.Forms.Label();
|
||||
this.JAP_group.SuspendLayout();
|
||||
this.USA_group.SuspendLayout();
|
||||
this.EUR_group.SuspendLayout();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// load_save_but
|
||||
//
|
||||
this.load_save_but.Location = new System.Drawing.Point(13, 10);
|
||||
this.load_save_but.Name = "load_save_but";
|
||||
this.load_save_but.Size = new System.Drawing.Size(91, 23);
|
||||
this.load_save_but.TabIndex = 1;
|
||||
this.load_save_but.Text = "Load Save File";
|
||||
this.load_save_but.UseVisualStyleBackColor = true;
|
||||
this.load_save_but.Click += new System.EventHandler(this.Load_save_butClick);
|
||||
//
|
||||
// sav3_path
|
||||
//
|
||||
this.sav3_path.Location = new System.Drawing.Point(13, 39);
|
||||
this.sav3_path.Name = "sav3_path";
|
||||
this.sav3_path.ReadOnly = true;
|
||||
this.sav3_path.Size = new System.Drawing.Size(588, 20);
|
||||
this.sav3_path.TabIndex = 5;
|
||||
//
|
||||
// region_but
|
||||
//
|
||||
this.region_but.Enabled = false;
|
||||
this.region_but.Location = new System.Drawing.Point(460, 10);
|
||||
this.region_but.Name = "region_but";
|
||||
this.region_but.Size = new System.Drawing.Size(92, 23);
|
||||
this.region_but.TabIndex = 15;
|
||||
this.region_but.Text = "Override Region";
|
||||
this.region_but.UseVisualStyleBackColor = true;
|
||||
this.region_but.Click += new System.EventHandler(this.Region_butClick);
|
||||
//
|
||||
// game_box
|
||||
//
|
||||
this.game_box.Enabled = false;
|
||||
this.game_box.FormattingEnabled = true;
|
||||
this.game_box.Items.AddRange(new object[] {
|
||||
"Ruby/Saphire",
|
||||
"Emerald",
|
||||
"Fire Red/Leaf Green"});
|
||||
this.game_box.Location = new System.Drawing.Point(110, 12);
|
||||
this.game_box.Name = "game_box";
|
||||
this.game_box.Size = new System.Drawing.Size(149, 21);
|
||||
this.game_box.TabIndex = 21;
|
||||
this.game_box.SelectedIndexChanged += new System.EventHandler(this.Game_boxSelectedIndexChanged);
|
||||
//
|
||||
// language_box
|
||||
//
|
||||
this.language_box.Enabled = false;
|
||||
this.language_box.FormattingEnabled = true;
|
||||
this.language_box.Items.AddRange(new object[] {
|
||||
"Japanesse",
|
||||
"English",
|
||||
"French",
|
||||
"Italian",
|
||||
"German",
|
||||
"Korean (not used)",
|
||||
"Spanish"});
|
||||
this.language_box.Location = new System.Drawing.Point(264, 12);
|
||||
this.language_box.Name = "language_box";
|
||||
this.language_box.Size = new System.Drawing.Size(121, 21);
|
||||
this.language_box.TabIndex = 22;
|
||||
this.language_box.SelectedIndexChanged += new System.EventHandler(this.Language_boxSelectedIndexChanged);
|
||||
//
|
||||
// region_lab
|
||||
//
|
||||
this.region_lab.Location = new System.Drawing.Point(391, 15);
|
||||
this.region_lab.Name = "region_lab";
|
||||
this.region_lab.Size = new System.Drawing.Size(63, 18);
|
||||
this.region_lab.TabIndex = 23;
|
||||
this.region_lab.Text = "Region";
|
||||
//
|
||||
// inject_sav
|
||||
//
|
||||
this.inject_sav.Location = new System.Drawing.Point(441, 185);
|
||||
this.inject_sav.Name = "inject_sav";
|
||||
this.inject_sav.Size = new System.Drawing.Size(144, 23);
|
||||
this.inject_sav.TabIndex = 28;
|
||||
this.inject_sav.Text = "Inject and Save";
|
||||
this.inject_sav.UseVisualStyleBackColor = true;
|
||||
this.inject_sav.Click += new System.EventHandler(this.Inject_savClick);
|
||||
//
|
||||
// jap_eon
|
||||
//
|
||||
this.jap_eon.Location = new System.Drawing.Point(6, 19);
|
||||
this.jap_eon.Name = "jap_eon";
|
||||
this.jap_eon.Size = new System.Drawing.Size(144, 24);
|
||||
this.jap_eon.TabIndex = 29;
|
||||
this.jap_eon.TabStop = true;
|
||||
this.jap_eon.Text = "Eon Ticket (R/S/E)";
|
||||
this.jap_eon.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// jap_aurora
|
||||
//
|
||||
this.jap_aurora.Location = new System.Drawing.Point(6, 49);
|
||||
this.jap_aurora.Name = "jap_aurora";
|
||||
this.jap_aurora.Size = new System.Drawing.Size(170, 24);
|
||||
this.jap_aurora.TabIndex = 30;
|
||||
this.jap_aurora.TabStop = true;
|
||||
this.jap_aurora.Text = "Aurora Ticket 2004 (FR/LG)";
|
||||
this.jap_aurora.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// JAP_group
|
||||
//
|
||||
this.JAP_group.Controls.Add(this.jap_old);
|
||||
this.JAP_group.Controls.Add(this.jap_mystic);
|
||||
this.JAP_group.Controls.Add(this.jap_aurora);
|
||||
this.JAP_group.Controls.Add(this.jap_eon);
|
||||
this.JAP_group.Enabled = false;
|
||||
this.JAP_group.Location = new System.Drawing.Point(13, 65);
|
||||
this.JAP_group.Name = "JAP_group";
|
||||
this.JAP_group.Size = new System.Drawing.Size(192, 143);
|
||||
this.JAP_group.TabIndex = 31;
|
||||
this.JAP_group.TabStop = false;
|
||||
this.JAP_group.Text = "Japanesse";
|
||||
//
|
||||
// jap_old
|
||||
//
|
||||
this.jap_old.Location = new System.Drawing.Point(6, 109);
|
||||
this.jap_old.Name = "jap_old";
|
||||
this.jap_old.Size = new System.Drawing.Size(170, 24);
|
||||
this.jap_old.TabIndex = 32;
|
||||
this.jap_old.TabStop = true;
|
||||
this.jap_old.Text = "Old Sea Map (E)";
|
||||
this.jap_old.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// jap_mystic
|
||||
//
|
||||
this.jap_mystic.Location = new System.Drawing.Point(6, 79);
|
||||
this.jap_mystic.Name = "jap_mystic";
|
||||
this.jap_mystic.Size = new System.Drawing.Size(170, 24);
|
||||
this.jap_mystic.TabIndex = 31;
|
||||
this.jap_mystic.TabStop = true;
|
||||
this.jap_mystic.Text = "Mystic Ticket 2005 (FR/LG/E)";
|
||||
this.jap_mystic.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// USA_group
|
||||
//
|
||||
this.USA_group.Controls.Add(this.usa_eon_italy);
|
||||
this.USA_group.Controls.Add(this.usa_mystic);
|
||||
this.USA_group.Controls.Add(this.usa_aurora);
|
||||
this.USA_group.Controls.Add(this.usa_eon_ecard);
|
||||
this.USA_group.Enabled = false;
|
||||
this.USA_group.Location = new System.Drawing.Point(211, 65);
|
||||
this.USA_group.Name = "USA_group";
|
||||
this.USA_group.Size = new System.Drawing.Size(192, 143);
|
||||
this.USA_group.TabIndex = 33;
|
||||
this.USA_group.TabStop = false;
|
||||
this.USA_group.Text = "USA/EUR (english only)";
|
||||
//
|
||||
// usa_eon_italy
|
||||
//
|
||||
this.usa_eon_italy.Location = new System.Drawing.Point(6, 49);
|
||||
this.usa_eon_italy.Name = "usa_eon_italy";
|
||||
this.usa_eon_italy.Size = new System.Drawing.Size(180, 24);
|
||||
this.usa_eon_italy.TabIndex = 32;
|
||||
this.usa_eon_italy.TabStop = true;
|
||||
this.usa_eon_italy.Text = "Eon Ticket (R/S) (Nintendo Italy)";
|
||||
this.usa_eon_italy.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// usa_mystic
|
||||
//
|
||||
this.usa_mystic.Location = new System.Drawing.Point(6, 109);
|
||||
this.usa_mystic.Name = "usa_mystic";
|
||||
this.usa_mystic.Size = new System.Drawing.Size(170, 24);
|
||||
this.usa_mystic.TabIndex = 31;
|
||||
this.usa_mystic.TabStop = true;
|
||||
this.usa_mystic.Text = "Mystic Ticket (E)";
|
||||
this.usa_mystic.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// usa_aurora
|
||||
//
|
||||
this.usa_aurora.Location = new System.Drawing.Point(6, 79);
|
||||
this.usa_aurora.Name = "usa_aurora";
|
||||
this.usa_aurora.Size = new System.Drawing.Size(170, 24);
|
||||
this.usa_aurora.TabIndex = 30;
|
||||
this.usa_aurora.TabStop = true;
|
||||
this.usa_aurora.Text = "Aurora Ticket (FR/LG/E)";
|
||||
this.usa_aurora.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// usa_eon_ecard
|
||||
//
|
||||
this.usa_eon_ecard.Location = new System.Drawing.Point(6, 19);
|
||||
this.usa_eon_ecard.Name = "usa_eon_ecard";
|
||||
this.usa_eon_ecard.Size = new System.Drawing.Size(168, 24);
|
||||
this.usa_eon_ecard.TabIndex = 29;
|
||||
this.usa_eon_ecard.TabStop = true;
|
||||
this.usa_eon_ecard.Text = "Eon Ticket (R/S) (e-card)";
|
||||
this.usa_eon_ecard.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// EUR_group
|
||||
//
|
||||
this.EUR_group.Controls.Add(this.eur_eon);
|
||||
this.EUR_group.Controls.Add(this.eur_aurora);
|
||||
this.EUR_group.Enabled = false;
|
||||
this.EUR_group.Location = new System.Drawing.Point(409, 65);
|
||||
this.EUR_group.Name = "EUR_group";
|
||||
this.EUR_group.Size = new System.Drawing.Size(192, 103);
|
||||
this.EUR_group.TabIndex = 34;
|
||||
this.EUR_group.TabStop = false;
|
||||
this.EUR_group.Text = "EUR (non english)";
|
||||
//
|
||||
// eur_eon
|
||||
//
|
||||
this.eur_eon.Location = new System.Drawing.Point(6, 19);
|
||||
this.eur_eon.Name = "eur_eon";
|
||||
this.eur_eon.Size = new System.Drawing.Size(180, 24);
|
||||
this.eur_eon.TabIndex = 32;
|
||||
this.eur_eon.TabStop = true;
|
||||
this.eur_eon.Text = "Eon Ticket (R/S) (Nintendo Italy)";
|
||||
this.eur_eon.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// eur_aurora
|
||||
//
|
||||
this.eur_aurora.Location = new System.Drawing.Point(6, 49);
|
||||
this.eur_aurora.Name = "eur_aurora";
|
||||
this.eur_aurora.Size = new System.Drawing.Size(170, 24);
|
||||
this.eur_aurora.TabIndex = 30;
|
||||
this.eur_aurora.TabStop = true;
|
||||
this.eur_aurora.Text = "Aurora Ticket (FR/LG/E)";
|
||||
this.eur_aurora.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// label1
|
||||
//
|
||||
this.label1.Location = new System.Drawing.Point(13, 217);
|
||||
this.label1.Name = "label1";
|
||||
this.label1.Size = new System.Drawing.Size(588, 19);
|
||||
this.label1.TabIndex = 35;
|
||||
this.label1.Text = "Note: The following events are still missing:";
|
||||
//
|
||||
// label2
|
||||
//
|
||||
this.label2.Location = new System.Drawing.Point(33, 236);
|
||||
this.label2.Name = "label2";
|
||||
this.label2.Size = new System.Drawing.Size(273, 23);
|
||||
this.label2.TabIndex = 36;
|
||||
this.label2.Text = "- \"MYSTIC TICKET\" (US/English) (FR/LG and E)";
|
||||
//
|
||||
// label3
|
||||
//
|
||||
this.label3.Location = new System.Drawing.Point(33, 251);
|
||||
this.label3.Name = "label3";
|
||||
this.label3.Size = new System.Drawing.Size(494, 18);
|
||||
this.label3.TabIndex = 37;
|
||||
this.label3.Text = "- \"MYSTIC TICKET\" TCG WORLD CHAMPIONSHIPS 2005 (US/English) (FR/LG)";
|
||||
//
|
||||
// label4
|
||||
//
|
||||
this.label4.Location = new System.Drawing.Point(33, 267);
|
||||
this.label4.Name = "label4";
|
||||
this.label4.Size = new System.Drawing.Size(444, 23);
|
||||
this.label4.TabIndex = 38;
|
||||
this.label4.Text = "- \"MYSTIC TICKET\" POKÉMON ROCKS AMERICA 2005 (US/English) (FR/LG and E)";
|
||||
//
|
||||
// label5
|
||||
//
|
||||
this.label5.Location = new System.Drawing.Point(33, 282);
|
||||
this.label5.Name = "label5";
|
||||
this.label5.Size = new System.Drawing.Size(421, 23);
|
||||
this.label5.TabIndex = 39;
|
||||
this.label5.Text = "- All Pokémon Egg WonderCards for FR/LG and E.";
|
||||
//
|
||||
// label6
|
||||
//
|
||||
this.label6.Location = new System.Drawing.Point(13, 304);
|
||||
this.label6.Name = "label6";
|
||||
this.label6.Size = new System.Drawing.Size(552, 31);
|
||||
this.label6.TabIndex = 40;
|
||||
this.label6.Text = "If you own any of these events and want to contribute want to contribute to this " +
|
||||
"project, please contact suloku or ajxpkm at projectpokemon.org forums or send an" +
|
||||
" e-mail to gen3mysterygift@gmail.com";
|
||||
//
|
||||
// EventTool
|
||||
//
|
||||
this.AllowDrop = true;
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.ClientSize = new System.Drawing.Size(610, 340);
|
||||
this.Controls.Add(this.label6);
|
||||
this.Controls.Add(this.label5);
|
||||
this.Controls.Add(this.label4);
|
||||
this.Controls.Add(this.label3);
|
||||
this.Controls.Add(this.label2);
|
||||
this.Controls.Add(this.label1);
|
||||
this.Controls.Add(this.EUR_group);
|
||||
this.Controls.Add(this.USA_group);
|
||||
this.Controls.Add(this.JAP_group);
|
||||
this.Controls.Add(this.inject_sav);
|
||||
this.Controls.Add(this.region_lab);
|
||||
this.Controls.Add(this.language_box);
|
||||
this.Controls.Add(this.game_box);
|
||||
this.Controls.Add(this.region_but);
|
||||
this.Controls.Add(this.sav3_path);
|
||||
this.Controls.Add(this.load_save_but);
|
||||
this.Name = "EventTool";
|
||||
this.Text = "Gen3 Event Tool 0.1 by suloku";
|
||||
this.DragDrop += new System.Windows.Forms.DragEventHandler(this.EventToolDragDrop);
|
||||
this.DragEnter += new System.Windows.Forms.DragEventHandler(this.EventToolDragEnter);
|
||||
this.JAP_group.ResumeLayout(false);
|
||||
this.USA_group.ResumeLayout(false);
|
||||
this.EUR_group.ResumeLayout(false);
|
||||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
871
wc3_tool/EventTool.cs
Normal file
871
wc3_tool/EventTool.cs
Normal file
|
|
@ -0,0 +1,871 @@
|
|||
/*
|
||||
* Created by SharpDevelop.
|
||||
* User: suloku
|
||||
* Date: 29/04/2016
|
||||
* Time: 13:45
|
||||
*
|
||||
* To change this template use Tools | Options | Coding | Edit Standard Headers.
|
||||
*/
|
||||
using System;
|
||||
using System.Drawing;
|
||||
using System.Windows.Forms;
|
||||
|
||||
using System.Reflection;
|
||||
using System.Resources;
|
||||
|
||||
namespace WC3_TOOL
|
||||
{
|
||||
/// <summary>
|
||||
/// Description of EventTool.
|
||||
/// </summary>
|
||||
public partial class EventTool : Form
|
||||
{
|
||||
public EventTool()
|
||||
{
|
||||
//
|
||||
// The InitializeComponent() call is required for Windows Forms designer support.
|
||||
//
|
||||
InitializeComponent();
|
||||
region_lab.Text = "";
|
||||
//
|
||||
// TODO: Add constructor code after the InitializeComponent() call.
|
||||
//
|
||||
}
|
||||
ResourceManager Tickets = new ResourceManager("WC3_tool.WC3.Tickets", Assembly.GetExecutingAssembly());
|
||||
public string savfilter = "RAW Save file|*.sav;*sa1;*sa2|All Files (*.*)|*.*";
|
||||
public string wc3filter = "Wonder Card file|*.wc3|All Files (*.*)|*.*";
|
||||
public string wcnfilter = "Wonder News file|*.wn3|All Files (*.*)|*.*";
|
||||
public string me3filter = "Mistery Event file|*.me3|All Files (*.*)|*.*";
|
||||
public string ectfilter = "e-card Trainer file|*.ect|All Files (*.*)|*.*";
|
||||
public string berryfilter = "e-card Berry file|*.ecb|All Files (*.*)|*.*";
|
||||
public byte[] savbuffer;
|
||||
public byte[] wc3new;
|
||||
public byte[] wcnnew;
|
||||
public byte[] me3file;
|
||||
public byte[] ectfile;
|
||||
public byte[] berryfile;
|
||||
public static SAV3 sav3file;
|
||||
void Button1Click(object sender, EventArgs e)
|
||||
{
|
||||
Form wc3edit = new WC3_editor();
|
||||
wc3edit.ShowDialog();
|
||||
}
|
||||
void Load_save(string path)
|
||||
{
|
||||
int filesize = FileIO.load_file(ref savbuffer, ref path, savfilter);
|
||||
if( filesize == SAV3.SAVE_SIZE)
|
||||
{
|
||||
sav3_path.Text = path;
|
||||
sav3file = new SAV3(savbuffer);
|
||||
|
||||
|
||||
region_but.Enabled = false;
|
||||
|
||||
switch(sav3file.game)
|
||||
{
|
||||
case 0:
|
||||
//Gamelabel.Text = "Ruby/Sapphire";
|
||||
|
||||
break;
|
||||
case 1:
|
||||
//Gamelabel.Text = "Emerald";
|
||||
|
||||
break;
|
||||
case 2:
|
||||
//Gamelabel.Text = "Fire Red/Leaf Green";
|
||||
|
||||
break;
|
||||
default:
|
||||
//Gamelabel.Text = "Can't autodetect save game";
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
if(sav3file.isjap == true)
|
||||
region_lab.Text = "JAP";
|
||||
else
|
||||
region_lab.Text = "USA/EUR";
|
||||
|
||||
region_but.Enabled = true;
|
||||
|
||||
language_box.SelectedIndex = sav3file.language-1;
|
||||
game_box.SelectedIndex = sav3file.game;
|
||||
|
||||
if (sav3file.isjap == true && sav3file.language != 1)
|
||||
{
|
||||
DialogResult dialogResult = MessageBox.Show("Region/language autodetection inconsistency.\n\nIs this a japanesse savegame?", "Region Input", MessageBoxButtons.YesNo);
|
||||
if(dialogResult == DialogResult.Yes)
|
||||
{
|
||||
sav3file.isjap = true;
|
||||
region_lab.Text = "JAP";
|
||||
language_box.SelectedIndex = 0;
|
||||
}
|
||||
else if (dialogResult == DialogResult.No)
|
||||
{
|
||||
sav3file.isjap = false;
|
||||
region_lab.Text = "USA/EUR";
|
||||
}
|
||||
}
|
||||
sav3file.updateOffsets();
|
||||
|
||||
}else if (filesize == -1){
|
||||
;
|
||||
}else{
|
||||
MessageBox.Show("Invalid file.");
|
||||
}
|
||||
}
|
||||
void Load_save_butClick(object sender, EventArgs e)
|
||||
{
|
||||
Load_save(null);
|
||||
}
|
||||
void Export_wc3butClick(object sender, EventArgs e)
|
||||
{
|
||||
if(sav3file.has_WC == false)
|
||||
MessageBox.Show("Save file does not contain WonderCard data.");
|
||||
else
|
||||
FileIO.save_data(sav3file.get_WC3(), wc3filter);
|
||||
}
|
||||
void Inject_wc3_butClick(object sender, EventArgs e)
|
||||
{
|
||||
if(sav3file.has_WC == true)
|
||||
{
|
||||
DialogResult dialogResult = MessageBox.Show("Savefile already has a WonderCard. Overwrite?", "WonderCard Injection", MessageBoxButtons.YesNo);
|
||||
if(dialogResult == DialogResult.No)
|
||||
{
|
||||
return;
|
||||
}
|
||||
}
|
||||
if (sav3file.has_mistery_gift == true)
|
||||
{
|
||||
string path = null;
|
||||
int filesize = FileIO.load_file(ref wc3new, ref path, wc3filter);
|
||||
if( (filesize == wc3.SIZE_WC3 && sav3file.isjap == false) || (filesize == wc3.SIZE_WC3_jap && sav3file.isjap == true) )
|
||||
{
|
||||
sav3file.set_WC3(wc3new);
|
||||
//custom_script.Checked = true;
|
||||
//Add fix sav3 checksum func3
|
||||
sav3file.update_section_chk(4);
|
||||
MessageBox.Show("WC3 injected.");
|
||||
FileIO.save_data(sav3file.Data, savfilter);
|
||||
|
||||
}else if (filesize == -1){
|
||||
;
|
||||
}else{
|
||||
MessageBox.Show("Invalid file size.");
|
||||
}
|
||||
}else
|
||||
{
|
||||
MessageBox.Show("Save file does not have Mistery Gift enabled.");
|
||||
}
|
||||
}
|
||||
void Export_wcnClick(object sender, EventArgs e)
|
||||
{
|
||||
if(sav3file.has_WCN == false)
|
||||
MessageBox.Show("Save file does not contain Wonder News data.");
|
||||
else
|
||||
FileIO.save_data(sav3file.get_WCN(), wcnfilter);
|
||||
}
|
||||
void Inject_wcnClick(object sender, EventArgs e)
|
||||
{
|
||||
if (sav3file.has_mistery_gift == true)
|
||||
{
|
||||
string path = null;
|
||||
int filesize = FileIO.load_file(ref wcnnew, ref path, wcnfilter);
|
||||
if( (filesize == SAV3.WCN_SIZE && sav3file.isjap == false) || (filesize == SAV3.WCN_SIZE_jap && sav3file.isjap == true) )
|
||||
{
|
||||
sav3file.set_WCN(wcnnew);
|
||||
//custom_script.Checked = true;
|
||||
//Add fix sav3 checksum func3
|
||||
sav3file.update_section_chk(4);
|
||||
MessageBox.Show("WC News injected.");
|
||||
FileIO.save_data(sav3file.Data, savfilter);
|
||||
|
||||
}else if (filesize == -1){
|
||||
;
|
||||
}else{
|
||||
MessageBox.Show("Invalid file size.");
|
||||
}
|
||||
}else
|
||||
{
|
||||
MessageBox.Show("Save file does not have Mistery Gift enabled.");
|
||||
}
|
||||
}
|
||||
void Wcn_edit_butClick(object sender, EventArgs e)
|
||||
{
|
||||
Form wcnedit = new WCN_editor();
|
||||
wcnedit.ShowDialog();
|
||||
}
|
||||
void Export_me3_butClick(object sender, EventArgs e)
|
||||
{
|
||||
int check = sav3file.has_ME3();
|
||||
if(check == 0)
|
||||
MessageBox.Show("Save file does not contain Mistery Event Data.");
|
||||
else if(check == 2)
|
||||
MessageBox.Show("Save file does contain Mistery Event Data, but the script has already been erased from savedata.");
|
||||
|
||||
if (check != 0)
|
||||
FileIO.save_data(sav3file.get_ME3(), me3filter);
|
||||
}
|
||||
void Inject_me3_butClick(object sender, EventArgs e)
|
||||
{
|
||||
if (sav3file.has_mistery_event == true || sav3file.game == 1)
|
||||
{
|
||||
if (sav3file.game == 1)
|
||||
MessageBox.Show("Mistery Event was removed from non Japanesse Emerald.\n\tYou can still inject the data at your own risk.");
|
||||
string path = null;
|
||||
int filesize = FileIO.load_file(ref me3file, ref path, me3filter);
|
||||
if( filesize == sav3file.me3_size )
|
||||
{
|
||||
ME3 me3_struct = new ME3(me3file, filesize);
|
||||
if (sav3file.game != me3_struct.isemerald)
|
||||
{
|
||||
MessageBox.Show("This ME3 file is not for this game!");
|
||||
}else
|
||||
{
|
||||
sav3file.set_ME3(me3file);
|
||||
//custom_script.Checked = true;
|
||||
//Add fix sav3 checksum func3
|
||||
sav3file.update_section_chk(4);
|
||||
MessageBox.Show("Mistery event injected.");
|
||||
FileIO.save_data(sav3file.Data, savfilter);
|
||||
}
|
||||
|
||||
}else if (filesize == -1){
|
||||
;
|
||||
}else{
|
||||
MessageBox.Show("Invalid file size.");
|
||||
}
|
||||
}else
|
||||
{
|
||||
MessageBox.Show("Save file does not have Mistery Event enabled.");
|
||||
}
|
||||
}
|
||||
void Me3_editor_butClick(object sender, EventArgs e)
|
||||
{
|
||||
Form me3edit = new ME3_editor();
|
||||
me3edit.ShowDialog();
|
||||
}
|
||||
void Eon_em_butClick(object sender, EventArgs e)
|
||||
{
|
||||
MessageBox.Show("This will enable the Eon ticket event as distributed in Japan.\nKeep in mind this event was never available outside Japan.\nIf you want a legit EON ticket in Emerald, you have to Mix Records with a Ruby/Saphire game with distributable EON ticket.");
|
||||
sav3file.enable_eon_emerald();
|
||||
MessageBox.Show("Mistery event EON Ticket injected.\n\nNote: if you saved in the 2nd floor of Pokémon Center, you'll have to exit and enter for the Blue man to appear.");
|
||||
FileIO.save_data(sav3file.Data, savfilter);
|
||||
}
|
||||
void EnableMisteryGiftEventToolStripMenuItemClick(object sender, EventArgs e)
|
||||
{
|
||||
sav3file.enable_Mistery();
|
||||
FileIO.save_data(sav3file.Data, savfilter);
|
||||
}
|
||||
void Region_butClick(object sender, EventArgs e)
|
||||
{
|
||||
/*
|
||||
sav3file.prompt_region("Is this a Japanese savegame?");
|
||||
if (sav3file.isjap)
|
||||
region_text.Text = "JAP";
|
||||
else
|
||||
region_text.Text = "USA/EUR";
|
||||
*/
|
||||
game_box.Enabled = true;
|
||||
language_box.Enabled = true;
|
||||
}
|
||||
void FixSectionChecksumsToolStripMenuItemClick(object sender, EventArgs e)
|
||||
{
|
||||
sav3file.fix_section_checksums();
|
||||
FileIO.save_data(sav3file.Data, savfilter);
|
||||
}
|
||||
void Decor_butClick(object sender, EventArgs e)
|
||||
{
|
||||
Form decoredit = new Decor_editor(sav3file);
|
||||
decoredit.ShowDialog();
|
||||
}
|
||||
void Ect_edit_butClick(object sender, EventArgs e)
|
||||
{
|
||||
Form ectedit = new ECT_editor();
|
||||
ectedit.ShowDialog();
|
||||
}
|
||||
void Export_ect_butClick(object sender, EventArgs e)
|
||||
{
|
||||
/*int check = sav3file.has_ME3();
|
||||
if(check == 0)
|
||||
MessageBox.Show("Save file does not contain Mistery Event Data.");
|
||||
else if(check == 2)
|
||||
MessageBox.Show("Save file does contain Mistery Event Data, but the script has already been erased from savedata.");
|
||||
|
||||
if (check != 0)*/
|
||||
FileIO.save_data(sav3file.get_ECT(), ectfilter);
|
||||
}
|
||||
void Inject_ect_butClick(object sender, EventArgs e)
|
||||
{
|
||||
//if (sav3file.has_mistery_event == true || sav3file.game == 1)
|
||||
//{
|
||||
if (sav3file.game == 1)
|
||||
MessageBox.Show("Mistery Event was removed from non Japanesse Emerald.\n\tYou can still inject the data at your own risk.");
|
||||
string path = null;
|
||||
int filesize = FileIO.load_file(ref ectfile, ref path, ectfilter);
|
||||
if( filesize == ECT.SIZE_ECT )
|
||||
{
|
||||
sav3file.set_ECT(ectfile);
|
||||
sav3file.update_section_chk(0);
|
||||
MessageBox.Show("e-card Trainer injected.");
|
||||
FileIO.save_data(sav3file.Data, savfilter);
|
||||
|
||||
}else if (filesize == -1){
|
||||
;
|
||||
}else{
|
||||
MessageBox.Show("Invalid file size.");
|
||||
}
|
||||
//}else
|
||||
//{
|
||||
// MessageBox.Show("Save file does not have Mistery Event enabled.");
|
||||
//}
|
||||
}
|
||||
void EventToolDragEnter(object sender, DragEventArgs e)
|
||||
{
|
||||
e.Effect = DragDropEffects.All;
|
||||
}
|
||||
void EventToolDragDrop(object sender, DragEventArgs e)
|
||||
{
|
||||
string[] files = (string[])e.Data.GetData(DataFormats.FileDrop, false);
|
||||
Load_save(files[0]);
|
||||
}
|
||||
void Game_boxSelectedIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
sav3file.game = game_box.SelectedIndex;
|
||||
sav3file.updateOffsets();
|
||||
|
||||
switch (game_box.SelectedIndex)
|
||||
{
|
||||
case 0: //RS
|
||||
jap_eon.Enabled = true;
|
||||
jap_aurora.Enabled = false;
|
||||
jap_mystic.Enabled = false;
|
||||
jap_old.Enabled = false;
|
||||
usa_eon_ecard.Enabled = true;
|
||||
usa_eon_italy.Enabled = true;
|
||||
usa_aurora.Enabled = false;
|
||||
usa_mystic.Enabled = false;
|
||||
eur_eon.Enabled = true;
|
||||
eur_aurora.Enabled = false;
|
||||
break;
|
||||
case 1: //E
|
||||
jap_eon.Enabled = true;
|
||||
jap_aurora.Enabled = false; //No aurora for japanesse?
|
||||
jap_mystic.Enabled = true;
|
||||
jap_old.Enabled = true;
|
||||
usa_eon_ecard.Enabled = false;
|
||||
usa_eon_italy.Enabled = false;
|
||||
usa_aurora.Enabled = true;
|
||||
usa_mystic.Enabled = true;
|
||||
eur_eon.Enabled = false;
|
||||
eur_aurora.Enabled = true;
|
||||
break;
|
||||
case 2: //FRLG
|
||||
jap_eon.Enabled = false;
|
||||
jap_aurora.Enabled = true;
|
||||
jap_mystic.Enabled = true;
|
||||
jap_old.Enabled = false;
|
||||
usa_eon_ecard.Enabled = false;
|
||||
usa_eon_italy.Enabled = false;
|
||||
usa_aurora.Enabled = true;
|
||||
usa_mystic.Enabled = false;
|
||||
eur_eon.Enabled = false;
|
||||
eur_aurora.Enabled = true;
|
||||
break;
|
||||
}
|
||||
//Uncheck all
|
||||
jap_eon.Checked = false;
|
||||
jap_aurora.Checked = false;
|
||||
jap_mystic.Checked = false;
|
||||
jap_old.Checked = false;
|
||||
usa_eon_ecard.Checked = false;
|
||||
usa_eon_italy.Checked = false;
|
||||
usa_aurora.Checked = false;
|
||||
usa_mystic.Checked = false;
|
||||
eur_eon.Checked = false;
|
||||
eur_aurora.Checked = false;
|
||||
}
|
||||
void Language_boxSelectedIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
sav3file.language = language_box.SelectedIndex+1;
|
||||
|
||||
if(sav3file.language == 1)
|
||||
sav3file.isjap = true;
|
||||
else
|
||||
sav3file.isjap = false;
|
||||
|
||||
if(sav3file.isjap == true)
|
||||
region_lab.Text = "JAP";
|
||||
else
|
||||
region_lab.Text = "USA/EUR";
|
||||
|
||||
sav3file.updateOffsets();
|
||||
|
||||
switch (language_box.SelectedIndex)
|
||||
{
|
||||
case 0://JAP
|
||||
JAP_group.Enabled = true;
|
||||
USA_group.Enabled = false;
|
||||
EUR_group.Enabled = false;
|
||||
break;
|
||||
case 1://English
|
||||
JAP_group.Enabled = false;
|
||||
USA_group.Enabled = true;
|
||||
EUR_group.Enabled = false;
|
||||
break;
|
||||
case 2://French
|
||||
JAP_group.Enabled = false;
|
||||
USA_group.Enabled = false;
|
||||
EUR_group.Enabled = true;
|
||||
break;
|
||||
case 3://Italian
|
||||
JAP_group.Enabled = false;
|
||||
USA_group.Enabled = false;
|
||||
EUR_group.Enabled = true;
|
||||
break;
|
||||
case 4://German
|
||||
JAP_group.Enabled = false;
|
||||
USA_group.Enabled = false;
|
||||
EUR_group.Enabled = true;
|
||||
break;
|
||||
case 5://Korean
|
||||
JAP_group.Enabled = false;
|
||||
USA_group.Enabled = false;
|
||||
EUR_group.Enabled = false;
|
||||
break;
|
||||
case 6://Spanish
|
||||
JAP_group.Enabled = false;
|
||||
USA_group.Enabled = false;
|
||||
EUR_group.Enabled = true;
|
||||
break;
|
||||
}
|
||||
//Uncheck all
|
||||
jap_eon.Checked = false;
|
||||
jap_aurora.Checked = false;
|
||||
jap_mystic.Checked = false;
|
||||
jap_old.Checked = false;
|
||||
usa_eon_ecard.Checked = false;
|
||||
usa_eon_italy.Checked = false;
|
||||
usa_aurora.Checked = false;
|
||||
usa_mystic.Checked = false;
|
||||
eur_eon.Checked = false;
|
||||
eur_aurora.Checked = false;
|
||||
}
|
||||
|
||||
|
||||
void Inject_savClick(object sender, EventArgs e)
|
||||
{
|
||||
switch (language_box.SelectedIndex)
|
||||
{
|
||||
case 0://JAP
|
||||
if (jap_eon.Checked == true)
|
||||
{
|
||||
if (sav3file.has_mistery_event == true)
|
||||
{
|
||||
if (game_box.SelectedIndex == 0) //RS
|
||||
{
|
||||
sav3file.set_ME3((byte[]) Tickets.GetObject("JAP_EON_FILE"));
|
||||
sav3file.update_section_chk(4);
|
||||
MessageBox.Show("Eon Ticket Mistery Event injected.\n\nGo see your father at Petalburg Gym.");
|
||||
FileIO.save_data(sav3file.Data, savfilter);
|
||||
}
|
||||
else if (game_box.SelectedIndex == 1) //E
|
||||
{
|
||||
sav3file.enable_eon_emerald();
|
||||
MessageBox.Show("Eon Ticket Mistery Event injected.\nGo see the man in blue at pokemon's center 2nd floor.\nNote: if you saved in the 2nd floor of Pokémon Center, you'll have to exit and enter for the Blue man to appear.");
|
||||
FileIO.save_data(sav3file.Data, savfilter);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
MessageBox.Show("Please enable Mistery Event in the savefile.");
|
||||
}
|
||||
}
|
||||
else if (jap_aurora.Checked == true)
|
||||
{
|
||||
if (game_box.SelectedIndex == 2) //FRLG
|
||||
{
|
||||
if (sav3file.has_mistery_gift == true)
|
||||
{
|
||||
sav3file.set_WC3((byte[]) Tickets.GetObject("JAP_AURORA_FRLG_FILE"));
|
||||
sav3file.update_section_chk(4);
|
||||
MessageBox.Show("Aurora Ticket Wondercard injected.\nGo see the man in green at pokemon's center 2nd floor.\nNote: if you saved in the 2nd floor of Pokémon Center, you'll have to exit and enter for the Blue man to appear.");
|
||||
FileIO.save_data(sav3file.Data, savfilter);
|
||||
}
|
||||
else
|
||||
{
|
||||
MessageBox.Show("Please enable mistery gift in the savefile.");
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
else if (jap_mystic.Checked == true)
|
||||
{
|
||||
if (game_box.SelectedIndex == 1) //E
|
||||
{
|
||||
if (sav3file.has_mistery_gift == true)
|
||||
{
|
||||
sav3file.set_WC3((byte[]) Tickets.GetObject("JAP_MYSTIC_E_FILE"));
|
||||
sav3file.update_section_chk(4);
|
||||
MessageBox.Show("Mystic Ticket Wondercard injected.\nGo see the man in blue at pokemon's center 2nd floor.\nNote: if you saved in the 2nd floor of Pokémon Center, you'll have to exit and enter for the Blue man to appear.");
|
||||
FileIO.save_data(sav3file.Data, savfilter);
|
||||
}
|
||||
else
|
||||
{
|
||||
MessageBox.Show("Please enable Mistery Gift in the savefile.");
|
||||
}
|
||||
|
||||
}
|
||||
else if (game_box.SelectedIndex == 2) //FRLG
|
||||
{
|
||||
if (sav3file.has_mistery_gift == true)
|
||||
{
|
||||
sav3file.set_WC3((byte[]) Tickets.GetObject("JAP_MYSTIC_FRLG_FILE"));
|
||||
sav3file.update_section_chk(4);
|
||||
MessageBox.Show("Mystic Ticket Wondercard injected.\nGo see the man in green at pokemon's center 2nd floor.\nNote: if you saved in the 2nd floor of Pokémon Center, you'll have to exit and enter for the Blue man to appear.");
|
||||
FileIO.save_data(sav3file.Data, savfilter);
|
||||
}
|
||||
else
|
||||
{
|
||||
MessageBox.Show("Please enable Mistery Gift in the savefile.");
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
else if (jap_old.Checked == true)
|
||||
{
|
||||
if (game_box.SelectedIndex == 1) //E
|
||||
{
|
||||
if (sav3file.has_mistery_gift == true)
|
||||
{
|
||||
sav3file.set_WC3((byte[]) Tickets.GetObject("JAP_OLDMAP_E_FILE"));
|
||||
sav3file.update_section_chk(4);
|
||||
MessageBox.Show("Old Map Wondercard injected.\nGo see the man in green at pokemon's center 2nd floor.\nNote: if you saved in the 2nd floor of Pokémon Center, you'll have to exit and enter for the Blue man to appear.");
|
||||
FileIO.save_data(sav3file.Data, savfilter);
|
||||
}
|
||||
else
|
||||
{
|
||||
MessageBox.Show("Please enable Mistery Gift in the savefile.");
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 1://English
|
||||
if (usa_eon_ecard.Checked == true)
|
||||
{
|
||||
if (sav3file.has_mistery_event == true)
|
||||
{
|
||||
if (game_box.SelectedIndex == 0) //RS
|
||||
{
|
||||
sav3file.set_ME3((byte[]) Tickets.GetObject("USA_EON_ECARD_FILE"));
|
||||
sav3file.update_section_chk(4);
|
||||
MessageBox.Show("Eon Ticket Mistery Event injected.\n\nGo see your father at Petalburg Gym.");
|
||||
FileIO.save_data(sav3file.Data, savfilter);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
MessageBox.Show("Please enable Mistery Event in the savefile.");
|
||||
}
|
||||
}
|
||||
else if (usa_eon_italy.Checked == true)
|
||||
{
|
||||
if (sav3file.has_mistery_event == true)
|
||||
{
|
||||
if (game_box.SelectedIndex == 0) //RS
|
||||
{
|
||||
sav3file.set_ME3((byte[]) Tickets.GetObject("USA_EON_ITALY_FILE"));
|
||||
sav3file.update_section_chk(4);
|
||||
MessageBox.Show("Eon Ticket Mistery Event injected.\n\nGo see your father at Petalburg Gym.");
|
||||
FileIO.save_data(sav3file.Data, savfilter);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
MessageBox.Show("Please enable Mistery Event in the savefile.");
|
||||
}
|
||||
}
|
||||
else if (usa_aurora.Checked == true)
|
||||
{
|
||||
if (game_box.SelectedIndex == 1) //E
|
||||
{
|
||||
if (sav3file.has_mistery_gift == true)
|
||||
{
|
||||
sav3file.set_WC3((byte[]) Tickets.GetObject("USA_AURORA_E_FILE"));
|
||||
sav3file.update_section_chk(4);
|
||||
MessageBox.Show("Aurora Ticket Wondercard injected.\nGo see the man in blue at pokemon's center 2nd floor.\nNote: if you saved in the 2nd floor of Pokémon Center, you'll have to exit and enter for the Blue man to appear.");
|
||||
FileIO.save_data(sav3file.Data, savfilter);
|
||||
}
|
||||
else
|
||||
{
|
||||
MessageBox.Show("Please enable mistery gift in the savefile.");
|
||||
}
|
||||
|
||||
}
|
||||
else if (game_box.SelectedIndex == 2) //FRLG
|
||||
{
|
||||
if (sav3file.has_mistery_gift == true)
|
||||
{
|
||||
sav3file.set_WC3((byte[]) Tickets.GetObject("USA_AURORA_FRLG_FILE"));
|
||||
sav3file.update_section_chk(4);
|
||||
MessageBox.Show("Aurora Ticket Wondercard injected.\nGo see the man in green at pokemon's center 2nd floor.\nNote: if you saved in the 2nd floor of Pokémon Center, you'll have to exit and enter for the Blue man to appear.");
|
||||
FileIO.save_data(sav3file.Data, savfilter);
|
||||
}
|
||||
else
|
||||
{
|
||||
MessageBox.Show("Please enable mistery gift in the savefile.");
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
else if (usa_mystic.Checked == true)
|
||||
{
|
||||
if (game_box.SelectedIndex == 1) //E
|
||||
{
|
||||
if (sav3file.has_mistery_gift == true)
|
||||
{
|
||||
sav3file.set_WC3((byte[]) Tickets.GetObject("USA_MYSTIC_E_FILE"));
|
||||
sav3file.update_section_chk(4);
|
||||
MessageBox.Show("Mystic Ticket Wondercard injected.\nGo see the man in blue at pokemon's center 2nd floor.\nNote: if you saved in the 2nd floor of Pokémon Center, you'll have to exit and enter for the Blue man to appear.");
|
||||
FileIO.save_data(sav3file.Data, savfilter);
|
||||
}
|
||||
else
|
||||
{
|
||||
MessageBox.Show("Please enable Mistery Gift in the savefile.");
|
||||
}
|
||||
|
||||
}/*
|
||||
else if (game_box.SelectedIndex == 2) //FRLG
|
||||
{
|
||||
|
||||
if (sav3file.has_mistery_gift == true)
|
||||
{
|
||||
sav3file.set_WC3((byte[]) Tickets.GetObject("USA_MYSTIC_FRLG_FILE"));
|
||||
sav3file.update_section_chk(4);
|
||||
MessageBox.Show("Mystic Ticket Wondercard injected.\nGo see the man in green at pokemon's center 2nd floor.\nNote: if you saved in the 2nd floor of Pokémon Center, you'll have to exit and enter for the Blue man to appear.");
|
||||
FileIO.save_data(sav3file.Data, savfilter);
|
||||
}
|
||||
else
|
||||
{
|
||||
MessageBox.Show("Please enable Mistery Gift in the savefile.");
|
||||
}
|
||||
}*/
|
||||
|
||||
}
|
||||
break;
|
||||
case 2://French
|
||||
if (eur_eon.Checked == true)
|
||||
{
|
||||
if (sav3file.has_mistery_event == true)
|
||||
{
|
||||
if (game_box.SelectedIndex == 0) //RS
|
||||
{
|
||||
sav3file.set_ME3((byte[]) Tickets.GetObject("FR_EON_FILE"));
|
||||
sav3file.update_section_chk(4);
|
||||
MessageBox.Show("Eon Ticket Mistery Event injected.\n\nGo see your father at Petalburg Gym.");
|
||||
FileIO.save_data(sav3file.Data, savfilter);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
MessageBox.Show("Please enable Mistery Event in the savefile.");
|
||||
}
|
||||
}
|
||||
else if (eur_aurora.Checked == true)
|
||||
{
|
||||
if (game_box.SelectedIndex == 1) //E
|
||||
{
|
||||
if (sav3file.has_mistery_gift == true)
|
||||
{
|
||||
sav3file.set_WC3((byte[]) Tickets.GetObject("FR_AURORA_E_FILE"));
|
||||
sav3file.update_section_chk(4);
|
||||
MessageBox.Show("Aurora Ticket Wondercard injected.\nGo see the man in blue at pokemon's center 2nd floor.\nNote: if you saved in the 2nd floor of Pokémon Center, you'll have to exit and enter for the Blue man to appear.");
|
||||
FileIO.save_data(sav3file.Data, savfilter);
|
||||
}
|
||||
else
|
||||
{
|
||||
MessageBox.Show("Please enable mistery gift in the savefile.");
|
||||
}
|
||||
|
||||
}
|
||||
else if (game_box.SelectedIndex == 2) //FRLG
|
||||
{
|
||||
if (sav3file.has_mistery_gift == true)
|
||||
{
|
||||
sav3file.set_WC3((byte[]) Tickets.GetObject("FR_AURORA_FRLG_FILE"));
|
||||
sav3file.update_section_chk(4);
|
||||
MessageBox.Show("Aurora Ticket Wondercard injected.\nGo see the man in green at pokemon's center 2nd floor.\nNote: if you saved in the 2nd floor of Pokémon Center, you'll have to exit and enter for the Blue man to appear.");
|
||||
FileIO.save_data(sav3file.Data, savfilter);
|
||||
}
|
||||
else
|
||||
{
|
||||
MessageBox.Show("Please enable mistery gift in the savefile.");
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 3://Italian
|
||||
if (eur_eon.Checked == true)
|
||||
{
|
||||
if (sav3file.has_mistery_event == true)
|
||||
{
|
||||
if (game_box.SelectedIndex == 0) //RS
|
||||
{
|
||||
sav3file.set_ME3((byte[]) Tickets.GetObject("IT_EON_FILE"));
|
||||
sav3file.update_section_chk(4);
|
||||
MessageBox.Show("Eon Ticket Mistery Event injected.\n\nGo see your father at Petalburg Gym.");
|
||||
FileIO.save_data(sav3file.Data, savfilter);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
MessageBox.Show("Please enable Mistery Event in the savefile.");
|
||||
}
|
||||
}
|
||||
else if (eur_aurora.Checked == true)
|
||||
{
|
||||
if (game_box.SelectedIndex == 1) //E
|
||||
{
|
||||
if (sav3file.has_mistery_gift == true)
|
||||
{
|
||||
sav3file.set_WC3((byte[]) Tickets.GetObject("IT_AURORA_E_FILE"));
|
||||
sav3file.update_section_chk(4);
|
||||
MessageBox.Show("Aurora Ticket Wondercard injected.\nGo see the man in blue at pokemon's center 2nd floor.\nNote: if you saved in the 2nd floor of Pokémon Center, you'll have to exit and enter for the Blue man to appear.");
|
||||
FileIO.save_data(sav3file.Data, savfilter);
|
||||
}
|
||||
else
|
||||
{
|
||||
MessageBox.Show("Please enable mistery gift in the savefile.");
|
||||
}
|
||||
|
||||
}
|
||||
else if (game_box.SelectedIndex == 2) //FRLG
|
||||
{
|
||||
if (sav3file.has_mistery_gift == true)
|
||||
{
|
||||
sav3file.set_WC3((byte[]) Tickets.GetObject("IT_AURORA_FRLG_FILE"));
|
||||
sav3file.update_section_chk(4);
|
||||
MessageBox.Show("Aurora Ticket Wondercard injected.\nGo see the man in green at pokemon's center 2nd floor.\nNote: if you saved in the 2nd floor of Pokémon Center, you'll have to exit and enter for the Blue man to appear.");
|
||||
FileIO.save_data(sav3file.Data, savfilter);
|
||||
}
|
||||
else
|
||||
{
|
||||
MessageBox.Show("Please enable mistery gift in the savefile.");
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 4://German
|
||||
if (eur_eon.Checked == true)
|
||||
{
|
||||
if (sav3file.has_mistery_event == true)
|
||||
{
|
||||
if (game_box.SelectedIndex == 0) //RS
|
||||
{
|
||||
sav3file.set_ME3((byte[]) Tickets.GetObject("DE_EON_FILE"));
|
||||
sav3file.update_section_chk(4);
|
||||
MessageBox.Show("Eon Ticket Mistery Event injected.\n\nGo see your father at Petalburg Gym.");
|
||||
FileIO.save_data(sav3file.Data, savfilter);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
MessageBox.Show("Please enable Mistery Event in the savefile.");
|
||||
}
|
||||
}
|
||||
else if (eur_aurora.Checked == true)
|
||||
{
|
||||
if (game_box.SelectedIndex == 1) //E
|
||||
{
|
||||
if (sav3file.has_mistery_gift == true)
|
||||
{
|
||||
sav3file.set_WC3((byte[]) Tickets.GetObject("DE_AURORA_E_FILE"));
|
||||
sav3file.update_section_chk(4);
|
||||
MessageBox.Show("Aurora Ticket Wondercard injected.\nGo see the man in blue at pokemon's center 2nd floor.\nNote: if you saved in the 2nd floor of Pokémon Center, you'll have to exit and enter for the Blue man to appear.");
|
||||
FileIO.save_data(sav3file.Data, savfilter);
|
||||
}
|
||||
else
|
||||
{
|
||||
MessageBox.Show("Please enable mistery gift in the savefile.");
|
||||
}
|
||||
|
||||
}
|
||||
else if (game_box.SelectedIndex == 2) //FRLG
|
||||
{
|
||||
if (sav3file.has_mistery_gift == true)
|
||||
{
|
||||
sav3file.set_WC3((byte[]) Tickets.GetObject("DE_AURORA_FRLG_FILE"));
|
||||
sav3file.update_section_chk(4);
|
||||
MessageBox.Show("Aurora Ticket Wondercard injected.\nGo see the man in green at pokemon's center 2nd floor.\nNote: if you saved in the 2nd floor of Pokémon Center, you'll have to exit and enter for the Blue man to appear.");
|
||||
FileIO.save_data(sav3file.Data, savfilter);
|
||||
}
|
||||
else
|
||||
{
|
||||
MessageBox.Show("Please enable mistery gift in the savefile.");
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 5://Korean
|
||||
break;
|
||||
case 6://Spanish
|
||||
if (eur_eon.Checked == true)
|
||||
{
|
||||
if (sav3file.has_mistery_event == true)
|
||||
{
|
||||
if (game_box.SelectedIndex == 0) //RS
|
||||
{
|
||||
sav3file.set_ME3((byte[]) Tickets.GetObject("SP_EON_FILE"));
|
||||
sav3file.update_section_chk(4);
|
||||
MessageBox.Show("Eon Ticket Mistery Event injected.\n\nGo see your father at Petalburg Gym.");
|
||||
FileIO.save_data(sav3file.Data, savfilter);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
MessageBox.Show("Please enable Mistery Event in the savefile.");
|
||||
}
|
||||
}
|
||||
else if (eur_aurora.Checked == true)
|
||||
{
|
||||
if (game_box.SelectedIndex == 1) //E
|
||||
{
|
||||
if (sav3file.has_mistery_gift == true)
|
||||
{
|
||||
sav3file.set_WC3((byte[]) Tickets.GetObject("SP_AURORA_E_FILE"));
|
||||
sav3file.update_section_chk(4);
|
||||
MessageBox.Show("Aurora Ticket Wondercard injected.\nGo see the man in blue at pokemon's center 2nd floor.\nNote: if you saved in the 2nd floor of Pokémon Center, you'll have to exit and enter for the Blue man to appear.");
|
||||
FileIO.save_data(sav3file.Data, savfilter);
|
||||
}
|
||||
else
|
||||
{
|
||||
MessageBox.Show("Please enable mistery gift in the savefile.");
|
||||
}
|
||||
|
||||
}
|
||||
else if (game_box.SelectedIndex == 2) //FRLG
|
||||
{
|
||||
if (sav3file.has_mistery_gift == true)
|
||||
{
|
||||
sav3file.set_WC3((byte[]) Tickets.GetObject("SP_AURORA_FRLG_FILE"));
|
||||
sav3file.update_section_chk(4);
|
||||
MessageBox.Show("Aurora Ticket Wondercard injected.\nGo see the man in green at pokemon's center 2nd floor.\nNote: if you saved in the 2nd floor of Pokémon Center, you'll have to exit and enter for the Blue man to appear.");
|
||||
FileIO.save_data(sav3file.Data, savfilter);
|
||||
}
|
||||
else
|
||||
{
|
||||
MessageBox.Show("Please enable mistery gift in the savefile.");
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
120
wc3_tool/EventTool.resx
Normal file
120
wc3_tool/EventTool.resx
Normal file
|
|
@ -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>
|
||||
570
wc3_tool/MainScreen.Designer.cs
generated
Normal file
570
wc3_tool/MainScreen.Designer.cs
generated
Normal file
|
|
@ -0,0 +1,570 @@
|
|||
/*
|
||||
* Created by SharpDevelop.
|
||||
* User: suloku
|
||||
* Date: 29/04/2016
|
||||
* Time: 13:45
|
||||
*
|
||||
* To change this template use Tools | Options | Coding | Edit Standard Headers.
|
||||
*/
|
||||
namespace WC3_TOOL
|
||||
{
|
||||
partial class MainScreen
|
||||
{
|
||||
/// <summary>
|
||||
/// Designer variable used to keep track of non-visual components.
|
||||
/// </summary>
|
||||
private System.ComponentModel.IContainer components = null;
|
||||
private System.Windows.Forms.Button wc3_editor_but;
|
||||
private System.Windows.Forms.Button load_save_but;
|
||||
private System.Windows.Forms.Button inject_wc3_but;
|
||||
private System.Windows.Forms.Button export_wc3but;
|
||||
private System.Windows.Forms.TextBox sav3_path;
|
||||
private System.Windows.Forms.MenuStrip menuStrip1;
|
||||
private System.Windows.Forms.ToolStripMenuItem menuToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolStripMenuItem exportSortedSavefileToolStripMenuItem;
|
||||
private System.Windows.Forms.Button export_wcn;
|
||||
private System.Windows.Forms.Button inject_wcn;
|
||||
private System.Windows.Forms.Button wcn_edit_but;
|
||||
private System.Windows.Forms.Button export_me3_but;
|
||||
private System.Windows.Forms.Button inject_me3_but;
|
||||
private System.Windows.Forms.Button me3_editor_but;
|
||||
private System.Windows.Forms.Button eon_em_but;
|
||||
private System.Windows.Forms.ToolStripMenuItem extraToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolStripMenuItem enableMisteryGiftMainScreenStripMenuItem;
|
||||
private System.Windows.Forms.Button region_but;
|
||||
private System.Windows.Forms.ToolStripMenuItem fixSectionChecksumsToolStripMenuItem;
|
||||
private System.Windows.Forms.Button decor_but;
|
||||
private System.Windows.Forms.Button ect_edit_but;
|
||||
private System.Windows.Forms.Button export_ect_but;
|
||||
private System.Windows.Forms.Button inject_ect_but;
|
||||
private System.Windows.Forms.ComboBox game_box;
|
||||
private System.Windows.Forms.ComboBox language_box;
|
||||
private System.Windows.Forms.Label region_lab;
|
||||
private System.Windows.Forms.ToolStripMenuItem exportOldSaveToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolStripMenuItem toolStripMenuItem1;
|
||||
private System.Windows.Forms.ToolStripMenuItem clearEggEventFlagToolStripMenuItem;
|
||||
private System.Windows.Forms.Button export_eberry;
|
||||
private System.Windows.Forms.Button inject_eberry;
|
||||
private System.Windows.Forms.Button ecb_edit_but;
|
||||
private System.Windows.Forms.ToolStripMenuItem aboutToolStripMenuItem1;
|
||||
private System.Windows.Forms.Button tvswarm_but;
|
||||
private System.Windows.Forms.GroupBox groupBox1;
|
||||
private System.Windows.Forms.GroupBox groupBox2;
|
||||
private System.Windows.Forms.GroupBox groupBox3;
|
||||
private System.Windows.Forms.GroupBox groupBox4;
|
||||
private System.Windows.Forms.Button events_distro_but;
|
||||
|
||||
/// <summary>
|
||||
/// Disposes resources used by the form.
|
||||
/// </summary>
|
||||
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing) {
|
||||
if (components != null) {
|
||||
components.Dispose();
|
||||
}
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// This method is required for Windows Forms designer support.
|
||||
/// Do not change the method contents inside the source code editor. The Forms designer might
|
||||
/// not be able to load this method if it was changed manually.
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
this.wc3_editor_but = new System.Windows.Forms.Button();
|
||||
this.load_save_but = new System.Windows.Forms.Button();
|
||||
this.inject_wc3_but = new System.Windows.Forms.Button();
|
||||
this.export_wc3but = new System.Windows.Forms.Button();
|
||||
this.sav3_path = new System.Windows.Forms.TextBox();
|
||||
this.menuStrip1 = new System.Windows.Forms.MenuStrip();
|
||||
this.menuToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.exportSortedSavefileToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.toolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.exportOldSaveToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.fixSectionChecksumsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.extraToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.enableMisteryGiftMainScreenStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.clearEggEventFlagToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.aboutToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.export_wcn = new System.Windows.Forms.Button();
|
||||
this.inject_wcn = new System.Windows.Forms.Button();
|
||||
this.wcn_edit_but = new System.Windows.Forms.Button();
|
||||
this.export_me3_but = new System.Windows.Forms.Button();
|
||||
this.inject_me3_but = new System.Windows.Forms.Button();
|
||||
this.me3_editor_but = new System.Windows.Forms.Button();
|
||||
this.eon_em_but = new System.Windows.Forms.Button();
|
||||
this.region_but = new System.Windows.Forms.Button();
|
||||
this.decor_but = new System.Windows.Forms.Button();
|
||||
this.ect_edit_but = new System.Windows.Forms.Button();
|
||||
this.export_ect_but = new System.Windows.Forms.Button();
|
||||
this.inject_ect_but = new System.Windows.Forms.Button();
|
||||
this.game_box = new System.Windows.Forms.ComboBox();
|
||||
this.language_box = new System.Windows.Forms.ComboBox();
|
||||
this.region_lab = new System.Windows.Forms.Label();
|
||||
this.export_eberry = new System.Windows.Forms.Button();
|
||||
this.inject_eberry = new System.Windows.Forms.Button();
|
||||
this.ecb_edit_but = new System.Windows.Forms.Button();
|
||||
this.tvswarm_but = new System.Windows.Forms.Button();
|
||||
this.groupBox1 = new System.Windows.Forms.GroupBox();
|
||||
this.groupBox2 = new System.Windows.Forms.GroupBox();
|
||||
this.groupBox3 = new System.Windows.Forms.GroupBox();
|
||||
this.groupBox4 = new System.Windows.Forms.GroupBox();
|
||||
this.events_distro_but = new System.Windows.Forms.Button();
|
||||
this.menuStrip1.SuspendLayout();
|
||||
this.groupBox1.SuspendLayout();
|
||||
this.groupBox2.SuspendLayout();
|
||||
this.groupBox3.SuspendLayout();
|
||||
this.groupBox4.SuspendLayout();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// wc3_editor_but
|
||||
//
|
||||
this.wc3_editor_but.Location = new System.Drawing.Point(132, 33);
|
||||
this.wc3_editor_but.Name = "wc3_editor_but";
|
||||
this.wc3_editor_but.Size = new System.Drawing.Size(75, 23);
|
||||
this.wc3_editor_but.TabIndex = 0;
|
||||
this.wc3_editor_but.Text = "WC3 Editor";
|
||||
this.wc3_editor_but.UseVisualStyleBackColor = true;
|
||||
this.wc3_editor_but.Click += new System.EventHandler(this.Button1Click);
|
||||
//
|
||||
// load_save_but
|
||||
//
|
||||
this.load_save_but.Location = new System.Drawing.Point(12, 37);
|
||||
this.load_save_but.Name = "load_save_but";
|
||||
this.load_save_but.Size = new System.Drawing.Size(91, 23);
|
||||
this.load_save_but.TabIndex = 1;
|
||||
this.load_save_but.Text = "Load Save File";
|
||||
this.load_save_but.UseVisualStyleBackColor = true;
|
||||
this.load_save_but.Click += new System.EventHandler(this.Load_save_butClick);
|
||||
//
|
||||
// inject_wc3_but
|
||||
//
|
||||
this.inject_wc3_but.Enabled = false;
|
||||
this.inject_wc3_but.Location = new System.Drawing.Point(6, 49);
|
||||
this.inject_wc3_but.Name = "inject_wc3_but";
|
||||
this.inject_wc3_but.Size = new System.Drawing.Size(120, 23);
|
||||
this.inject_wc3_but.TabIndex = 2;
|
||||
this.inject_wc3_but.Text = "Inject WC3";
|
||||
this.inject_wc3_but.UseVisualStyleBackColor = true;
|
||||
this.inject_wc3_but.Click += new System.EventHandler(this.Inject_wc3_butClick);
|
||||
//
|
||||
// export_wc3but
|
||||
//
|
||||
this.export_wc3but.Enabled = false;
|
||||
this.export_wc3but.Location = new System.Drawing.Point(6, 20);
|
||||
this.export_wc3but.Name = "export_wc3but";
|
||||
this.export_wc3but.Size = new System.Drawing.Size(120, 23);
|
||||
this.export_wc3but.TabIndex = 4;
|
||||
this.export_wc3but.Text = "Export WC3";
|
||||
this.export_wc3but.UseVisualStyleBackColor = true;
|
||||
this.export_wc3but.Click += new System.EventHandler(this.Export_wc3butClick);
|
||||
//
|
||||
// sav3_path
|
||||
//
|
||||
this.sav3_path.Location = new System.Drawing.Point(12, 66);
|
||||
this.sav3_path.Name = "sav3_path";
|
||||
this.sav3_path.ReadOnly = true;
|
||||
this.sav3_path.Size = new System.Drawing.Size(665, 20);
|
||||
this.sav3_path.TabIndex = 5;
|
||||
//
|
||||
// menuStrip1
|
||||
//
|
||||
this.menuStrip1.BackColor = System.Drawing.SystemColors.ControlLight;
|
||||
this.menuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||
this.menuToolStripMenuItem,
|
||||
this.extraToolStripMenuItem,
|
||||
this.aboutToolStripMenuItem1});
|
||||
this.menuStrip1.Location = new System.Drawing.Point(0, 0);
|
||||
this.menuStrip1.Name = "menuStrip1";
|
||||
this.menuStrip1.Size = new System.Drawing.Size(687, 24);
|
||||
this.menuStrip1.TabIndex = 6;
|
||||
this.menuStrip1.Text = "menuStrip1";
|
||||
//
|
||||
// menuToolStripMenuItem
|
||||
//
|
||||
this.menuToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||
this.exportSortedSavefileToolStripMenuItem,
|
||||
this.fixSectionChecksumsToolStripMenuItem});
|
||||
this.menuToolStripMenuItem.Name = "menuToolStripMenuItem";
|
||||
this.menuToolStripMenuItem.Size = new System.Drawing.Size(50, 20);
|
||||
this.menuToolStripMenuItem.Text = "Menu";
|
||||
//
|
||||
// exportSortedSavefileToolStripMenuItem
|
||||
//
|
||||
this.exportSortedSavefileToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||
this.toolStripMenuItem1,
|
||||
this.exportOldSaveToolStripMenuItem});
|
||||
this.exportSortedSavefileToolStripMenuItem.Name = "exportSortedSavefileToolStripMenuItem";
|
||||
this.exportSortedSavefileToolStripMenuItem.Size = new System.Drawing.Size(234, 22);
|
||||
this.exportSortedSavefileToolStripMenuItem.Text = "Export sorted savefile (current)";
|
||||
//
|
||||
// toolStripMenuItem1
|
||||
//
|
||||
this.toolStripMenuItem1.Enabled = false;
|
||||
this.toolStripMenuItem1.Name = "toolStripMenuItem1";
|
||||
this.toolStripMenuItem1.Size = new System.Drawing.Size(174, 22);
|
||||
this.toolStripMenuItem1.Text = "Export current save";
|
||||
this.toolStripMenuItem1.Click += new System.EventHandler(this.ToolStripMenuItem1Click);
|
||||
//
|
||||
// exportOldSaveToolStripMenuItem
|
||||
//
|
||||
this.exportOldSaveToolStripMenuItem.Enabled = false;
|
||||
this.exportOldSaveToolStripMenuItem.Name = "exportOldSaveToolStripMenuItem";
|
||||
this.exportOldSaveToolStripMenuItem.Size = new System.Drawing.Size(174, 22);
|
||||
this.exportOldSaveToolStripMenuItem.Text = "Export old save";
|
||||
this.exportOldSaveToolStripMenuItem.Click += new System.EventHandler(this.ExportOldSaveToolStripMenuItemClick);
|
||||
//
|
||||
// fixSectionChecksumsToolStripMenuItem
|
||||
//
|
||||
this.fixSectionChecksumsToolStripMenuItem.Enabled = false;
|
||||
this.fixSectionChecksumsToolStripMenuItem.Name = "fixSectionChecksumsToolStripMenuItem";
|
||||
this.fixSectionChecksumsToolStripMenuItem.Size = new System.Drawing.Size(234, 22);
|
||||
this.fixSectionChecksumsToolStripMenuItem.Text = "Fix Section Checksums";
|
||||
this.fixSectionChecksumsToolStripMenuItem.Click += new System.EventHandler(this.FixSectionChecksumsToolStripMenuItemClick);
|
||||
//
|
||||
// extraToolStripMenuItem
|
||||
//
|
||||
this.extraToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||
this.enableMisteryGiftMainScreenStripMenuItem,
|
||||
this.clearEggEventFlagToolStripMenuItem});
|
||||
this.extraToolStripMenuItem.Name = "extraToolStripMenuItem";
|
||||
this.extraToolStripMenuItem.Size = new System.Drawing.Size(44, 20);
|
||||
this.extraToolStripMenuItem.Text = "Extra";
|
||||
//
|
||||
// enableMisteryGiftMainScreenStripMenuItem
|
||||
//
|
||||
this.enableMisteryGiftMainScreenStripMenuItem.Enabled = false;
|
||||
this.enableMisteryGiftMainScreenStripMenuItem.Name = "enableMisteryGiftMainScreenStripMenuItem";
|
||||
this.enableMisteryGiftMainScreenStripMenuItem.Size = new System.Drawing.Size(207, 22);
|
||||
this.enableMisteryGiftMainScreenStripMenuItem.Text = "Enable Mistery Gift/Event";
|
||||
this.enableMisteryGiftMainScreenStripMenuItem.Click += new System.EventHandler(this.EnableMisteryGiftMainScreenStripMenuItemClick);
|
||||
//
|
||||
// clearEggEventFlagToolStripMenuItem
|
||||
//
|
||||
this.clearEggEventFlagToolStripMenuItem.Enabled = false;
|
||||
this.clearEggEventFlagToolStripMenuItem.Name = "clearEggEventFlagToolStripMenuItem";
|
||||
this.clearEggEventFlagToolStripMenuItem.Size = new System.Drawing.Size(207, 22);
|
||||
this.clearEggEventFlagToolStripMenuItem.Text = "Clear Egg Event Flag";
|
||||
this.clearEggEventFlagToolStripMenuItem.Click += new System.EventHandler(this.ClearEggEventFlagToolStripMenuItemClick);
|
||||
//
|
||||
// aboutToolStripMenuItem1
|
||||
//
|
||||
this.aboutToolStripMenuItem1.Name = "aboutToolStripMenuItem1";
|
||||
this.aboutToolStripMenuItem1.Size = new System.Drawing.Size(52, 20);
|
||||
this.aboutToolStripMenuItem1.Text = "About";
|
||||
this.aboutToolStripMenuItem1.Click += new System.EventHandler(this.AboutToolStripMenuItem1Click);
|
||||
//
|
||||
// export_wcn
|
||||
//
|
||||
this.export_wcn.Enabled = false;
|
||||
this.export_wcn.Location = new System.Drawing.Point(6, 78);
|
||||
this.export_wcn.Name = "export_wcn";
|
||||
this.export_wcn.Size = new System.Drawing.Size(120, 23);
|
||||
this.export_wcn.TabIndex = 7;
|
||||
this.export_wcn.Text = "Export Wonder News";
|
||||
this.export_wcn.UseVisualStyleBackColor = true;
|
||||
this.export_wcn.Click += new System.EventHandler(this.Export_wcnClick);
|
||||
//
|
||||
// inject_wcn
|
||||
//
|
||||
this.inject_wcn.Enabled = false;
|
||||
this.inject_wcn.Location = new System.Drawing.Point(6, 107);
|
||||
this.inject_wcn.Name = "inject_wcn";
|
||||
this.inject_wcn.Size = new System.Drawing.Size(120, 23);
|
||||
this.inject_wcn.TabIndex = 8;
|
||||
this.inject_wcn.Text = "Inject Wonder News";
|
||||
this.inject_wcn.UseVisualStyleBackColor = true;
|
||||
this.inject_wcn.Click += new System.EventHandler(this.Inject_wcnClick);
|
||||
//
|
||||
// wcn_edit_but
|
||||
//
|
||||
this.wcn_edit_but.Location = new System.Drawing.Point(132, 91);
|
||||
this.wcn_edit_but.Name = "wcn_edit_but";
|
||||
this.wcn_edit_but.Size = new System.Drawing.Size(75, 23);
|
||||
this.wcn_edit_but.TabIndex = 9;
|
||||
this.wcn_edit_but.Text = "WN3 Editor";
|
||||
this.wcn_edit_but.UseVisualStyleBackColor = true;
|
||||
this.wcn_edit_but.Click += new System.EventHandler(this.Wcn_edit_butClick);
|
||||
//
|
||||
// export_me3_but
|
||||
//
|
||||
this.export_me3_but.Enabled = false;
|
||||
this.export_me3_but.Location = new System.Drawing.Point(6, 33);
|
||||
this.export_me3_but.Name = "export_me3_but";
|
||||
this.export_me3_but.Size = new System.Drawing.Size(120, 23);
|
||||
this.export_me3_but.TabIndex = 10;
|
||||
this.export_me3_but.Text = "Export ME3";
|
||||
this.export_me3_but.UseVisualStyleBackColor = true;
|
||||
this.export_me3_but.Click += new System.EventHandler(this.Export_me3_butClick);
|
||||
//
|
||||
// inject_me3_but
|
||||
//
|
||||
this.inject_me3_but.Enabled = false;
|
||||
this.inject_me3_but.Location = new System.Drawing.Point(6, 62);
|
||||
this.inject_me3_but.Name = "inject_me3_but";
|
||||
this.inject_me3_but.Size = new System.Drawing.Size(120, 23);
|
||||
this.inject_me3_but.TabIndex = 11;
|
||||
this.inject_me3_but.Text = "Inject ME3";
|
||||
this.inject_me3_but.UseVisualStyleBackColor = true;
|
||||
this.inject_me3_but.Click += new System.EventHandler(this.Inject_me3_butClick);
|
||||
//
|
||||
// me3_editor_but
|
||||
//
|
||||
this.me3_editor_but.Location = new System.Drawing.Point(132, 62);
|
||||
this.me3_editor_but.Name = "me3_editor_but";
|
||||
this.me3_editor_but.Size = new System.Drawing.Size(75, 23);
|
||||
this.me3_editor_but.TabIndex = 12;
|
||||
this.me3_editor_but.Text = "ME3 Editor";
|
||||
this.me3_editor_but.UseVisualStyleBackColor = true;
|
||||
this.me3_editor_but.Click += new System.EventHandler(this.Me3_editor_butClick);
|
||||
//
|
||||
// eon_em_but
|
||||
//
|
||||
this.eon_em_but.Enabled = false;
|
||||
this.eon_em_but.Location = new System.Drawing.Point(6, 91);
|
||||
this.eon_em_but.Name = "eon_em_but";
|
||||
this.eon_em_but.Size = new System.Drawing.Size(120, 23);
|
||||
this.eon_em_but.TabIndex = 13;
|
||||
this.eon_em_but.Text = "EON Ticket (Emerald)";
|
||||
this.eon_em_but.UseVisualStyleBackColor = true;
|
||||
this.eon_em_but.Click += new System.EventHandler(this.Eon_em_butClick);
|
||||
//
|
||||
// region_but
|
||||
//
|
||||
this.region_but.Enabled = false;
|
||||
this.region_but.Location = new System.Drawing.Point(459, 37);
|
||||
this.region_but.Name = "region_but";
|
||||
this.region_but.Size = new System.Drawing.Size(92, 23);
|
||||
this.region_but.TabIndex = 15;
|
||||
this.region_but.Text = "Override Region";
|
||||
this.region_but.UseVisualStyleBackColor = true;
|
||||
this.region_but.Click += new System.EventHandler(this.Region_butClick);
|
||||
//
|
||||
// decor_but
|
||||
//
|
||||
this.decor_but.Enabled = false;
|
||||
this.decor_but.Location = new System.Drawing.Point(6, 19);
|
||||
this.decor_but.Name = "decor_but";
|
||||
this.decor_but.Size = new System.Drawing.Size(120, 23);
|
||||
this.decor_but.TabIndex = 16;
|
||||
this.decor_but.Text = "Decoration Editor";
|
||||
this.decor_but.UseVisualStyleBackColor = true;
|
||||
this.decor_but.Click += new System.EventHandler(this.Decor_butClick);
|
||||
//
|
||||
// ect_edit_but
|
||||
//
|
||||
this.ect_edit_but.Location = new System.Drawing.Point(132, 30);
|
||||
this.ect_edit_but.Name = "ect_edit_but";
|
||||
this.ect_edit_but.Size = new System.Drawing.Size(75, 23);
|
||||
this.ect_edit_but.TabIndex = 17;
|
||||
this.ect_edit_but.Text = "ECT Editor";
|
||||
this.ect_edit_but.UseVisualStyleBackColor = true;
|
||||
this.ect_edit_but.Click += new System.EventHandler(this.Ect_edit_butClick);
|
||||
//
|
||||
// export_ect_but
|
||||
//
|
||||
this.export_ect_but.Enabled = false;
|
||||
this.export_ect_but.Location = new System.Drawing.Point(6, 17);
|
||||
this.export_ect_but.Name = "export_ect_but";
|
||||
this.export_ect_but.Size = new System.Drawing.Size(120, 23);
|
||||
this.export_ect_but.TabIndex = 18;
|
||||
this.export_ect_but.Text = "Export ECT";
|
||||
this.export_ect_but.UseVisualStyleBackColor = true;
|
||||
this.export_ect_but.Click += new System.EventHandler(this.Export_ect_butClick);
|
||||
//
|
||||
// inject_ect_but
|
||||
//
|
||||
this.inject_ect_but.Enabled = false;
|
||||
this.inject_ect_but.Location = new System.Drawing.Point(6, 46);
|
||||
this.inject_ect_but.Name = "inject_ect_but";
|
||||
this.inject_ect_but.Size = new System.Drawing.Size(120, 23);
|
||||
this.inject_ect_but.TabIndex = 19;
|
||||
this.inject_ect_but.Text = "Inject ECT";
|
||||
this.inject_ect_but.UseVisualStyleBackColor = true;
|
||||
this.inject_ect_but.Click += new System.EventHandler(this.Inject_ect_butClick);
|
||||
//
|
||||
// game_box
|
||||
//
|
||||
this.game_box.Enabled = false;
|
||||
this.game_box.FormattingEnabled = true;
|
||||
this.game_box.Items.AddRange(new object[] {
|
||||
"Ruby/Saphire",
|
||||
"Emerald",
|
||||
"Fire Red/Leaf Green"});
|
||||
this.game_box.Location = new System.Drawing.Point(109, 39);
|
||||
this.game_box.Name = "game_box";
|
||||
this.game_box.Size = new System.Drawing.Size(149, 21);
|
||||
this.game_box.TabIndex = 21;
|
||||
this.game_box.SelectedIndexChanged += new System.EventHandler(this.Game_boxSelectedIndexChanged);
|
||||
//
|
||||
// language_box
|
||||
//
|
||||
this.language_box.Enabled = false;
|
||||
this.language_box.FormattingEnabled = true;
|
||||
this.language_box.Items.AddRange(new object[] {
|
||||
"Japanese",
|
||||
"English",
|
||||
"French",
|
||||
"Italian",
|
||||
"German",
|
||||
"Korean (not used)",
|
||||
"Spanish"});
|
||||
this.language_box.Location = new System.Drawing.Point(263, 39);
|
||||
this.language_box.Name = "language_box";
|
||||
this.language_box.Size = new System.Drawing.Size(121, 21);
|
||||
this.language_box.TabIndex = 22;
|
||||
this.language_box.SelectedIndexChanged += new System.EventHandler(this.Language_boxSelectedIndexChanged);
|
||||
//
|
||||
// region_lab
|
||||
//
|
||||
this.region_lab.Location = new System.Drawing.Point(390, 42);
|
||||
this.region_lab.Name = "region_lab";
|
||||
this.region_lab.Size = new System.Drawing.Size(63, 18);
|
||||
this.region_lab.TabIndex = 23;
|
||||
this.region_lab.Text = "Region";
|
||||
//
|
||||
// export_eberry
|
||||
//
|
||||
this.export_eberry.Enabled = false;
|
||||
this.export_eberry.Location = new System.Drawing.Point(6, 75);
|
||||
this.export_eberry.Name = "export_eberry";
|
||||
this.export_eberry.Size = new System.Drawing.Size(120, 23);
|
||||
this.export_eberry.TabIndex = 24;
|
||||
this.export_eberry.Text = "Export e-berry";
|
||||
this.export_eberry.UseVisualStyleBackColor = true;
|
||||
this.export_eberry.Click += new System.EventHandler(this.Export_eberryClick);
|
||||
//
|
||||
// inject_eberry
|
||||
//
|
||||
this.inject_eberry.Enabled = false;
|
||||
this.inject_eberry.Location = new System.Drawing.Point(6, 104);
|
||||
this.inject_eberry.Name = "inject_eberry";
|
||||
this.inject_eberry.Size = new System.Drawing.Size(120, 23);
|
||||
this.inject_eberry.TabIndex = 25;
|
||||
this.inject_eberry.Text = "Inject e-berry";
|
||||
this.inject_eberry.UseVisualStyleBackColor = true;
|
||||
this.inject_eberry.Click += new System.EventHandler(this.Inject_eberryClick);
|
||||
//
|
||||
// ecb_edit_but
|
||||
//
|
||||
this.ecb_edit_but.Location = new System.Drawing.Point(132, 88);
|
||||
this.ecb_edit_but.Name = "ecb_edit_but";
|
||||
this.ecb_edit_but.Size = new System.Drawing.Size(75, 22);
|
||||
this.ecb_edit_but.TabIndex = 26;
|
||||
this.ecb_edit_but.Text = "ECB Editor";
|
||||
this.ecb_edit_but.UseVisualStyleBackColor = true;
|
||||
this.ecb_edit_but.Click += new System.EventHandler(this.Ecb_edit_butClick);
|
||||
//
|
||||
// tvswarm_but
|
||||
//
|
||||
this.tvswarm_but.Enabled = false;
|
||||
this.tvswarm_but.Location = new System.Drawing.Point(6, 48);
|
||||
this.tvswarm_but.Name = "tvswarm_but";
|
||||
this.tvswarm_but.Size = new System.Drawing.Size(120, 22);
|
||||
this.tvswarm_but.TabIndex = 27;
|
||||
this.tvswarm_but.Text = "TV and Swarm";
|
||||
this.tvswarm_but.UseVisualStyleBackColor = true;
|
||||
this.tvswarm_but.Click += new System.EventHandler(this.Tvswarm_butClick);
|
||||
//
|
||||
// groupBox1
|
||||
//
|
||||
this.groupBox1.Controls.Add(this.wcn_edit_but);
|
||||
this.groupBox1.Controls.Add(this.inject_wcn);
|
||||
this.groupBox1.Controls.Add(this.export_wcn);
|
||||
this.groupBox1.Controls.Add(this.export_wc3but);
|
||||
this.groupBox1.Controls.Add(this.inject_wc3_but);
|
||||
this.groupBox1.Controls.Add(this.wc3_editor_but);
|
||||
this.groupBox1.Location = new System.Drawing.Point(12, 92);
|
||||
this.groupBox1.Name = "groupBox1";
|
||||
this.groupBox1.Size = new System.Drawing.Size(219, 136);
|
||||
this.groupBox1.TabIndex = 28;
|
||||
this.groupBox1.TabStop = false;
|
||||
this.groupBox1.Text = "Mistery Gift";
|
||||
//
|
||||
// groupBox2
|
||||
//
|
||||
this.groupBox2.Controls.Add(this.export_me3_but);
|
||||
this.groupBox2.Controls.Add(this.inject_me3_but);
|
||||
this.groupBox2.Controls.Add(this.me3_editor_but);
|
||||
this.groupBox2.Controls.Add(this.eon_em_but);
|
||||
this.groupBox2.Location = new System.Drawing.Point(238, 92);
|
||||
this.groupBox2.Name = "groupBox2";
|
||||
this.groupBox2.Size = new System.Drawing.Size(215, 136);
|
||||
this.groupBox2.TabIndex = 29;
|
||||
this.groupBox2.TabStop = false;
|
||||
this.groupBox2.Text = "Mistery Event";
|
||||
//
|
||||
// groupBox3
|
||||
//
|
||||
this.groupBox3.Controls.Add(this.ecb_edit_but);
|
||||
this.groupBox3.Controls.Add(this.inject_eberry);
|
||||
this.groupBox3.Controls.Add(this.export_eberry);
|
||||
this.groupBox3.Controls.Add(this.inject_ect_but);
|
||||
this.groupBox3.Controls.Add(this.export_ect_but);
|
||||
this.groupBox3.Controls.Add(this.ect_edit_but);
|
||||
this.groupBox3.Location = new System.Drawing.Point(459, 92);
|
||||
this.groupBox3.Name = "groupBox3";
|
||||
this.groupBox3.Size = new System.Drawing.Size(217, 136);
|
||||
this.groupBox3.TabIndex = 30;
|
||||
this.groupBox3.TabStop = false;
|
||||
this.groupBox3.Text = "e-Trainer and e-Berry";
|
||||
//
|
||||
// groupBox4
|
||||
//
|
||||
this.groupBox4.Controls.Add(this.tvswarm_but);
|
||||
this.groupBox4.Controls.Add(this.decor_but);
|
||||
this.groupBox4.Location = new System.Drawing.Point(12, 234);
|
||||
this.groupBox4.Name = "groupBox4";
|
||||
this.groupBox4.Size = new System.Drawing.Size(141, 79);
|
||||
this.groupBox4.TabIndex = 31;
|
||||
this.groupBox4.TabStop = false;
|
||||
this.groupBox4.Text = "Other";
|
||||
//
|
||||
// events_distro_but
|
||||
//
|
||||
this.events_distro_but.Location = new System.Drawing.Point(484, 253);
|
||||
this.events_distro_but.Name = "events_distro_but";
|
||||
this.events_distro_but.Size = new System.Drawing.Size(182, 51);
|
||||
this.events_distro_but.TabIndex = 32;
|
||||
this.events_distro_but.Text = "Official Event Distributor";
|
||||
this.events_distro_but.UseVisualStyleBackColor = true;
|
||||
this.events_distro_but.Click += new System.EventHandler(this.Events_distro_butClick);
|
||||
//
|
||||
// MainScreen
|
||||
//
|
||||
this.AllowDrop = true;
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.ClientSize = new System.Drawing.Size(687, 316);
|
||||
this.Controls.Add(this.events_distro_but);
|
||||
this.Controls.Add(this.groupBox4);
|
||||
this.Controls.Add(this.groupBox3);
|
||||
this.Controls.Add(this.groupBox2);
|
||||
this.Controls.Add(this.groupBox1);
|
||||
this.Controls.Add(this.region_lab);
|
||||
this.Controls.Add(this.language_box);
|
||||
this.Controls.Add(this.game_box);
|
||||
this.Controls.Add(this.region_but);
|
||||
this.Controls.Add(this.sav3_path);
|
||||
this.Controls.Add(this.load_save_but);
|
||||
this.Controls.Add(this.menuStrip1);
|
||||
this.Name = "MainScreen";
|
||||
this.Text = "Mistery Gift Tool 0.1 by suloku";
|
||||
this.DragDrop += new System.Windows.Forms.DragEventHandler(this.MainScreenDragDrop);
|
||||
this.DragEnter += new System.Windows.Forms.DragEventHandler(this.MainScreenDragEnter);
|
||||
this.menuStrip1.ResumeLayout(false);
|
||||
this.menuStrip1.PerformLayout();
|
||||
this.groupBox1.ResumeLayout(false);
|
||||
this.groupBox2.ResumeLayout(false);
|
||||
this.groupBox3.ResumeLayout(false);
|
||||
this.groupBox4.ResumeLayout(false);
|
||||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
471
wc3_tool/MainScreen.cs
Normal file
471
wc3_tool/MainScreen.cs
Normal file
|
|
@ -0,0 +1,471 @@
|
|||
/*
|
||||
* Created by SharpDevelop.
|
||||
* User: suloku
|
||||
* Date: 29/04/2016
|
||||
* Time: 13:45
|
||||
*
|
||||
* To change this template use Tools | Options | Coding | Edit Standard Headers.
|
||||
*/
|
||||
using System;
|
||||
using System.Drawing;
|
||||
using System.Windows.Forms;
|
||||
using System.Reflection;
|
||||
|
||||
namespace WC3_TOOL
|
||||
{
|
||||
/// <summary>
|
||||
/// Description of MainScreen.
|
||||
/// </summary>
|
||||
public partial class MainScreen : Form
|
||||
{
|
||||
public string version()
|
||||
{
|
||||
var version = Assembly.GetExecutingAssembly().GetName().Version;
|
||||
DateTime buildDate = new DateTime(2000, 1, 1).AddDays(version.Build).AddSeconds(version.Revision*2);
|
||||
return "BUILD "+buildDate.Year.ToString()+buildDate.Month.ToString()+buildDate.Day.ToString()+"_"+buildDate.Hour.ToString()+buildDate.Minute.ToString()+buildDate.Second.ToString();
|
||||
}
|
||||
|
||||
public MainScreen()
|
||||
{
|
||||
//
|
||||
// The InitializeComponent() call is required for Windows Forms designer support.
|
||||
//
|
||||
InitializeComponent();
|
||||
region_lab.Text = "";
|
||||
//
|
||||
// TODO: Add constructor code after the InitializeComponent() call.
|
||||
//
|
||||
}
|
||||
public static string savfilter = "RAW Save file|*.sav;*sa1;*sa2|All Files (*.*)|*.*";
|
||||
public string wc3filter = "Wonder Card file|*.wc3|All Files (*.*)|*.*";
|
||||
public string wcnfilter = "Wonder News file|*.wn3|All Files (*.*)|*.*";
|
||||
public string me3filter = "Mistery Event file|*.me3|All Files (*.*)|*.*";
|
||||
public string ectfilter = "e-card Trainer file|*.ect|All Files (*.*)|*.*";
|
||||
public string berryfilter = "e-card Berry file|*.ecb|All Files (*.*)|*.*";
|
||||
public byte[] savbuffer;
|
||||
public byte[] wc3new;
|
||||
public byte[] wcnnew;
|
||||
public byte[] me3file;
|
||||
public byte[] ectfile;
|
||||
public byte[] berryfile;
|
||||
public static SAV3 sav3file;
|
||||
void Button1Click(object sender, EventArgs e)
|
||||
{
|
||||
Form wc3edit = new WC3_editor();
|
||||
wc3edit.ShowDialog();
|
||||
}
|
||||
void Load_save(string path)
|
||||
{
|
||||
int filesize = FileIO.load_file(ref savbuffer, ref path, savfilter);
|
||||
if( filesize == SAV3.SAVE_SIZE)
|
||||
{
|
||||
sav3_path.Text = path;
|
||||
sav3file = new SAV3(savbuffer);
|
||||
|
||||
export_wc3but.Enabled = false;
|
||||
inject_wc3_but.Enabled = false;
|
||||
export_wcn.Enabled = false;
|
||||
inject_wcn.Enabled = false;
|
||||
export_me3_but.Enabled = false;
|
||||
inject_me3_but.Enabled = false;
|
||||
eon_em_but.Enabled = false;
|
||||
decor_but.Enabled = false;
|
||||
export_ect_but.Enabled = false;
|
||||
inject_ect_but.Enabled = false;
|
||||
export_eberry.Enabled = false;
|
||||
inject_eberry.Enabled = false;
|
||||
tvswarm_but.Enabled = false;
|
||||
|
||||
region_but.Enabled = false;
|
||||
|
||||
toolStripMenuItem1.Enabled = false;
|
||||
exportOldSaveToolStripMenuItem.Enabled = false;
|
||||
enableMisteryGiftMainScreenStripMenuItem.Enabled = false;
|
||||
fixSectionChecksumsToolStripMenuItem.Enabled = false;
|
||||
|
||||
switch(sav3file.game)
|
||||
{
|
||||
case 0:
|
||||
//Gamelabel.Text = "Ruby/Sapphire";
|
||||
export_me3_but.Enabled = true;
|
||||
inject_me3_but.Enabled = true;
|
||||
decor_but.Enabled = true;
|
||||
export_eberry.Enabled = true;
|
||||
inject_eberry.Enabled = true;
|
||||
tvswarm_but.Enabled = true;
|
||||
break;
|
||||
case 1:
|
||||
//Gamelabel.Text = "Emerald";
|
||||
export_wc3but.Enabled = true;
|
||||
inject_wc3_but.Enabled = true;
|
||||
export_wcn.Enabled = true;
|
||||
inject_wcn.Enabled = true;
|
||||
export_me3_but.Enabled = true;
|
||||
inject_me3_but.Enabled = true;
|
||||
eon_em_but.Enabled = true;
|
||||
decor_but.Enabled = true;
|
||||
tvswarm_but.Enabled = true;
|
||||
break;
|
||||
case 2:
|
||||
//Gamelabel.Text = "Fire Red/Leaf Green";
|
||||
export_wc3but.Enabled = true;
|
||||
inject_wc3_but.Enabled = true;
|
||||
export_wcn.Enabled = true;
|
||||
inject_wcn.Enabled = true;
|
||||
tvswarm_but.Enabled = false;
|
||||
break;
|
||||
default:
|
||||
//Gamelabel.Text = "Can't autodetect save game";
|
||||
break;
|
||||
}
|
||||
toolStripMenuItem1.Enabled = true;
|
||||
exportOldSaveToolStripMenuItem.Enabled = true;
|
||||
enableMisteryGiftMainScreenStripMenuItem.Enabled = true;
|
||||
fixSectionChecksumsToolStripMenuItem.Enabled = true;
|
||||
clearEggEventFlagToolStripMenuItem.Enabled = sav3file.has_EggEvent_Flag();
|
||||
|
||||
export_ect_but.Enabled = true;
|
||||
inject_ect_but.Enabled = true;
|
||||
|
||||
if(sav3file.isjap == true)
|
||||
region_lab.Text = "JAP";
|
||||
else
|
||||
region_lab.Text = "USA/EUR";
|
||||
|
||||
region_but.Enabled = true;
|
||||
|
||||
language_box.SelectedIndex = sav3file.language-1;
|
||||
game_box.SelectedIndex = sav3file.game;
|
||||
|
||||
if (sav3file.isjap == true && sav3file.language != 1)
|
||||
{
|
||||
DialogResult dialogResult = MessageBox.Show("Region/language autodetection inconsistency.\n\nIs this a japanese savegame?", "Region Input", MessageBoxButtons.YesNo);
|
||||
if(dialogResult == DialogResult.Yes)
|
||||
{
|
||||
sav3file.isjap = true;
|
||||
region_lab.Text = "JAP";
|
||||
language_box.SelectedIndex = 0;
|
||||
}
|
||||
else if (dialogResult == DialogResult.No)
|
||||
{
|
||||
sav3file.isjap = false;
|
||||
region_lab.Text = "USA/EUR";
|
||||
}
|
||||
}
|
||||
sav3file.updateOffsets();
|
||||
|
||||
}else if (filesize == -1){
|
||||
;
|
||||
}else{
|
||||
MessageBox.Show("Invalid file.");
|
||||
}
|
||||
}
|
||||
void Load_save_butClick(object sender, EventArgs e)
|
||||
{
|
||||
Load_save(null);
|
||||
}
|
||||
void Export_wc3butClick(object sender, EventArgs e)
|
||||
{
|
||||
if(sav3file.has_WC == false)
|
||||
MessageBox.Show("Save file does not contain WonderCard data.");
|
||||
else
|
||||
FileIO.save_data(sav3file.get_WC3(), wc3filter);
|
||||
}
|
||||
void Inject_wc3_butClick(object sender, EventArgs e)
|
||||
{
|
||||
if(sav3file.has_WC == true)
|
||||
{
|
||||
DialogResult dialogResult = MessageBox.Show("Savefile already has a WonderCard. Overwrite?", "WonderCard Injection", MessageBoxButtons.YesNo);
|
||||
if(dialogResult == DialogResult.No)
|
||||
{
|
||||
return;
|
||||
}
|
||||
}
|
||||
if (sav3file.has_mistery_gift == true)
|
||||
{
|
||||
string path = null;
|
||||
int filesize = FileIO.load_file(ref wc3new, ref path, wc3filter);
|
||||
if( (filesize == wc3.SIZE_WC3 && sav3file.isjap == false) || (filesize == wc3.SIZE_WC3_jap && sav3file.isjap == true) )
|
||||
{
|
||||
sav3file.set_WC3(wc3new);
|
||||
//custom_script.Checked = true;
|
||||
//Add fix sav3 checksum func3
|
||||
sav3file.update_section_chk(4);
|
||||
MessageBox.Show("WC3 injected.");
|
||||
FileIO.save_data(sav3file.Data, savfilter);
|
||||
|
||||
}else if (filesize == -1){
|
||||
;
|
||||
}else{
|
||||
MessageBox.Show("Invalid file size.");
|
||||
}
|
||||
}else
|
||||
{
|
||||
MessageBox.Show("Save file does not have Mistery Gift enabled.");
|
||||
}
|
||||
}
|
||||
void Export_wcnClick(object sender, EventArgs e)
|
||||
{
|
||||
if(sav3file.has_WCN == false)
|
||||
MessageBox.Show("Save file does not contain Wonder News data.");
|
||||
else
|
||||
FileIO.save_data(sav3file.get_WCN(), wcnfilter);
|
||||
}
|
||||
void Inject_wcnClick(object sender, EventArgs e)
|
||||
{
|
||||
if (sav3file.has_mistery_gift == true)
|
||||
{
|
||||
string path = null;
|
||||
int filesize = FileIO.load_file(ref wcnnew, ref path, wcnfilter);
|
||||
if( (filesize == SAV3.WCN_SIZE && sav3file.isjap == false) || (filesize == SAV3.WCN_SIZE_jap && sav3file.isjap == true) )
|
||||
{
|
||||
sav3file.set_WCN(wcnnew);
|
||||
//custom_script.Checked = true;
|
||||
//Add fix sav3 checksum func3
|
||||
sav3file.update_section_chk(4);
|
||||
MessageBox.Show("WC News injected.");
|
||||
FileIO.save_data(sav3file.Data, savfilter);
|
||||
|
||||
}else if (filesize == -1){
|
||||
;
|
||||
}else{
|
||||
MessageBox.Show("Invalid file size.");
|
||||
}
|
||||
}else
|
||||
{
|
||||
MessageBox.Show("Save file does not have Mistery Gift enabled.");
|
||||
}
|
||||
}
|
||||
void Wcn_edit_butClick(object sender, EventArgs e)
|
||||
{
|
||||
Form wcnedit = new WCN_editor();
|
||||
wcnedit.ShowDialog();
|
||||
}
|
||||
void Export_me3_butClick(object sender, EventArgs e)
|
||||
{
|
||||
int check = sav3file.has_ME3();
|
||||
if(check == 0)
|
||||
MessageBox.Show("Save file does not contain Mistery Event Data.");
|
||||
else if(check == 2)
|
||||
MessageBox.Show("Save file does contain Mistery Event Data, but the script has already been erased from savedata.");
|
||||
|
||||
if (check != 0)
|
||||
FileIO.save_data(sav3file.get_ME3(), me3filter);
|
||||
}
|
||||
void Inject_me3_butClick(object sender, EventArgs e)
|
||||
{
|
||||
if (sav3file.has_mistery_event == true || sav3file.game == 1)
|
||||
{
|
||||
if (sav3file.game == 1)
|
||||
MessageBox.Show("Mistery Event was removed from non Japanese Emerald.\n\tYou can still inject the data at your own risk.");
|
||||
string path = null;
|
||||
int filesize = FileIO.load_file(ref me3file, ref path, me3filter);
|
||||
if( filesize == sav3file.me3_size )
|
||||
{
|
||||
ME3 me3_struct = new ME3(me3file, filesize);
|
||||
if (sav3file.game != me3_struct.isemerald)
|
||||
{
|
||||
MessageBox.Show("This ME3 file is not for this game!");
|
||||
}else
|
||||
{
|
||||
sav3file.set_ME3(me3file);
|
||||
//custom_script.Checked = true;
|
||||
//Add fix sav3 checksum func3
|
||||
sav3file.update_section_chk(4);
|
||||
MessageBox.Show("Mistery event injected.");
|
||||
FileIO.save_data(sav3file.Data, savfilter);
|
||||
}
|
||||
|
||||
}else if (filesize == -1){
|
||||
;
|
||||
}else{
|
||||
MessageBox.Show("Invalid file size.");
|
||||
}
|
||||
}else
|
||||
{
|
||||
MessageBox.Show("Save file does not have Mistery Event enabled.");
|
||||
}
|
||||
}
|
||||
void Me3_editor_butClick(object sender, EventArgs e)
|
||||
{
|
||||
Form me3edit = new ME3_editor();
|
||||
me3edit.ShowDialog();
|
||||
}
|
||||
void Eon_em_butClick(object sender, EventArgs e)
|
||||
{
|
||||
MessageBox.Show("This will enable the Eon ticket event as distributed in Japan.\nKeep in mind this event was never available outside Japan.\nIf you want a legit EON ticket in Emerald, you have to Mix Records with a Ruby/Saphire game with distributable EON ticket.");
|
||||
sav3file.enable_eon_emerald();
|
||||
MessageBox.Show("Mistery event EON Ticket injected.\n\nNote: if you saved in the 2nd floor of Pokémon Center, you'll have to exit and enter for the Blue man to appear.");
|
||||
FileIO.save_data(sav3file.Data, savfilter);
|
||||
}
|
||||
void EnableMisteryGiftMainScreenStripMenuItemClick(object sender, EventArgs e)
|
||||
{
|
||||
sav3file.enable_Mistery();
|
||||
FileIO.save_data(sav3file.Data, savfilter);
|
||||
}
|
||||
void Region_butClick(object sender, EventArgs e)
|
||||
{
|
||||
/*
|
||||
sav3file.prompt_region("Is this a Japanese savegame?");
|
||||
if (sav3file.isjap)
|
||||
region_text.Text = "JAP";
|
||||
else
|
||||
region_text.Text = "USA/EUR";
|
||||
*/
|
||||
game_box.Enabled = true;
|
||||
language_box.Enabled = true;
|
||||
}
|
||||
void FixSectionChecksumsToolStripMenuItemClick(object sender, EventArgs e)
|
||||
{
|
||||
sav3file.fix_section_checksums();
|
||||
FileIO.save_data(sav3file.Data, savfilter);
|
||||
}
|
||||
void Decor_butClick(object sender, EventArgs e)
|
||||
{
|
||||
Form decoredit = new Decor_editor(sav3file);
|
||||
decoredit.ShowDialog();
|
||||
}
|
||||
void Ect_edit_butClick(object sender, EventArgs e)
|
||||
{
|
||||
Form ectedit = new ECT_editor();
|
||||
ectedit.ShowDialog();
|
||||
}
|
||||
void Export_ect_butClick(object sender, EventArgs e)
|
||||
{
|
||||
/*int check = sav3file.has_ME3();
|
||||
if(check == 0)
|
||||
MessageBox.Show("Save file does not contain Mistery Event Data.");
|
||||
else if(check == 2)
|
||||
MessageBox.Show("Save file does contain Mistery Event Data, but the script has already been erased from savedata.");
|
||||
|
||||
if (check != 0)*/
|
||||
FileIO.save_data(sav3file.get_ECT(), ectfilter);
|
||||
}
|
||||
void Inject_ect_butClick(object sender, EventArgs e)
|
||||
{
|
||||
//if (sav3file.has_mistery_event == true || sav3file.game == 1)
|
||||
//{
|
||||
if (sav3file.game == 1)
|
||||
MessageBox.Show("Mistery Event was removed from non Japanese Emerald.\n\tYou can still inject the data at your own risk.");
|
||||
string path = null;
|
||||
int filesize = FileIO.load_file(ref ectfile, ref path, ectfilter);
|
||||
if( filesize == ECT.SIZE_ECT )
|
||||
{
|
||||
sav3file.set_ECT(ectfile);
|
||||
sav3file.update_section_chk(0);
|
||||
MessageBox.Show("e-card Trainer injected.");
|
||||
FileIO.save_data(sav3file.Data, savfilter);
|
||||
|
||||
}else if (filesize == -1){
|
||||
;
|
||||
}else{
|
||||
MessageBox.Show("Invalid file size.");
|
||||
}
|
||||
//}else
|
||||
//{
|
||||
// MessageBox.Show("Save file does not have Mistery Event enabled.");
|
||||
//}
|
||||
}
|
||||
void MainScreenDragEnter(object sender, DragEventArgs e)
|
||||
{
|
||||
e.Effect = DragDropEffects.All;
|
||||
}
|
||||
void MainScreenDragDrop(object sender, DragEventArgs e)
|
||||
{
|
||||
string[] files = (string[])e.Data.GetData(DataFormats.FileDrop, false);
|
||||
Load_save(files[0]);
|
||||
}
|
||||
void Game_boxSelectedIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
sav3file.game = game_box.SelectedIndex;
|
||||
sav3file.updateOffsets();
|
||||
}
|
||||
void Language_boxSelectedIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
sav3file.language = language_box.SelectedIndex+1;
|
||||
|
||||
if(sav3file.language == 1)
|
||||
sav3file.isjap = true;
|
||||
else
|
||||
sav3file.isjap = false;
|
||||
|
||||
if(sav3file.isjap == true)
|
||||
region_lab.Text = "JAP";
|
||||
else
|
||||
region_lab.Text = "USA/EUR";
|
||||
|
||||
sav3file.updateOffsets();
|
||||
}
|
||||
void ExportOldSaveToolStripMenuItemClick(object sender, EventArgs e)
|
||||
{
|
||||
FileIO.save_data(sav3file.getSortedSave(1), savfilter);
|
||||
}
|
||||
void ToolStripMenuItem1Click(object sender, EventArgs e)
|
||||
{
|
||||
FileIO.save_data(sav3file.getSortedSave(0), savfilter);
|
||||
}
|
||||
void ClearEggEventFlagToolStripMenuItemClick(object sender, EventArgs e)
|
||||
{
|
||||
sav3file.clear_EggEvent_Flag();
|
||||
MessageBox.Show("Egg Event flag cleared.");
|
||||
FileIO.save_data(sav3file.Data, savfilter);
|
||||
clearEggEventFlagToolStripMenuItem.Enabled = sav3file.has_EggEvent_Flag();
|
||||
}
|
||||
void EnableEnigmaBerryFlagToolStripMenuItemClick(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
}
|
||||
void Export_eberryClick(object sender, EventArgs e)
|
||||
{
|
||||
if(sav3file.has_berry() == true)
|
||||
{
|
||||
FileIO.save_data(sav3file.get_ECB(), berryfilter);
|
||||
}else
|
||||
{
|
||||
MessageBox.Show("There's no berry in savefile.");
|
||||
}
|
||||
|
||||
}
|
||||
void Inject_eberryClick(object sender, EventArgs e)
|
||||
{
|
||||
if (sav3file.game == 0)
|
||||
{
|
||||
string path = null;
|
||||
int filesize = FileIO.load_file(ref berryfile, ref path, berryfilter);
|
||||
if( filesize == SAV3.BERRY_SIZE)
|
||||
{
|
||||
sav3file.set_ECB(berryfile);
|
||||
sav3file.set_Enigma_Flag();
|
||||
sav3file.update_section_chk(4);
|
||||
MessageBox.Show("Enigma Berry injected.");
|
||||
FileIO.save_data(sav3file.Data, savfilter);
|
||||
|
||||
}else if (filesize == -1){
|
||||
;
|
||||
}else{
|
||||
MessageBox.Show("Invalid file size.");
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
void Ecb_edit_butClick(object sender, EventArgs e)
|
||||
{
|
||||
Form ecbedit = new ECB_editor();
|
||||
ecbedit.ShowDialog();
|
||||
}
|
||||
void AboutToolStripMenuItem1Click(object sender, EventArgs e)
|
||||
{
|
||||
MessageBox.Show("Mistery Gift Tool 0.1 by suloku ("+version()+")\n\nMany thanks to ajxpkm, Real.96, BlackShark, lostaddict, Háčky and many more involved in Mistery Event research!\n\nThe research thread at projectpokemon.org might be of your interest.\n\nIf you want to contribute any missing event, contact suloku or ajxpkm at projectpokemon's forums or gen3mysterygift@gmail.com");
|
||||
}
|
||||
void Tvswarm_butClick(object sender, EventArgs e)
|
||||
{
|
||||
Form tvswarm = new TV_editor(sav3file);
|
||||
tvswarm.ShowDialog();
|
||||
}
|
||||
void Events_distro_butClick(object sender, EventArgs e)
|
||||
{
|
||||
Form distro = new EventTool();
|
||||
distro.ShowDialog();
|
||||
}
|
||||
}
|
||||
}
|
||||
123
wc3_tool/MainScreen.resx
Normal file
123
wc3_tool/MainScreen.resx
Normal file
|
|
@ -0,0 +1,123 @@
|
|||
<?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>
|
||||
<metadata name="menuStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>17, 17</value>
|
||||
</metadata>
|
||||
</root>
|
||||
31
wc3_tool/Program.cs
Normal file
31
wc3_tool/Program.cs
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
/*
|
||||
* Created by SharpDevelop.
|
||||
* User: suloku
|
||||
* Date: 28/04/2016
|
||||
* Time: 21:22
|
||||
*
|
||||
* To change this template use Tools | Options | Coding | Edit Standard Headers.
|
||||
*/
|
||||
using System;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace WC3_TOOL
|
||||
{
|
||||
/// <summary>
|
||||
/// Class with program entry point.
|
||||
/// </summary>
|
||||
internal sealed class Program
|
||||
{
|
||||
/// <summary>
|
||||
/// Program entry point.
|
||||
/// </summary>
|
||||
[STAThread]
|
||||
private static void Main(string[] args)
|
||||
{
|
||||
Application.EnableVisualStyles();
|
||||
Application.SetCompatibleTextRenderingDefault(false);
|
||||
Application.Run(new MainScreen());
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
31
wc3_tool/Properties/AssemblyInfo.cs
Normal file
31
wc3_tool/Properties/AssemblyInfo.cs
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
#region Using directives
|
||||
|
||||
using System;
|
||||
using System.Reflection;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
#endregion
|
||||
|
||||
// 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("WC3_TOOL")]
|
||||
[assembly: AssemblyDescription("")]
|
||||
[assembly: AssemblyConfiguration("")]
|
||||
[assembly: AssemblyCompany("")]
|
||||
[assembly: AssemblyProduct("WC3_TOOL")]
|
||||
[assembly: AssemblyCopyright("Copyright 2016")]
|
||||
[assembly: AssemblyTrademark("")]
|
||||
[assembly: AssemblyCulture("")]
|
||||
|
||||
// This sets the default COM visibility of types in the assembly to invisible.
|
||||
// If you need to expose a type to COM, use [ComVisible(true)] on that type.
|
||||
[assembly: ComVisible(false)]
|
||||
|
||||
// The assembly version has following format :
|
||||
//
|
||||
// Major.Minor.Build.Revision
|
||||
//
|
||||
// You can specify all the values or you can use the default the Revision and
|
||||
// Build Numbers by using the '*' as shown below:
|
||||
[assembly: AssemblyVersion("1.0.*")]
|
||||
191
wc3_tool/WC3/Decor_editor.Designer.cs
generated
Normal file
191
wc3_tool/WC3/Decor_editor.Designer.cs
generated
Normal file
|
|
@ -0,0 +1,191 @@
|
|||
/*
|
||||
* Created by SharpDevelop.
|
||||
* User: suloku
|
||||
* Date: 03/05/2016
|
||||
* Time: 17:34
|
||||
*
|
||||
* To change this template use Tools | Options | Coding | Edit Standard Headers.
|
||||
*/
|
||||
namespace WC3_TOOL
|
||||
{
|
||||
partial class Decor_editor
|
||||
{
|
||||
/// <summary>
|
||||
/// Designer variable used to keep track of non-visual components.
|
||||
/// </summary>
|
||||
private System.ComponentModel.IContainer components = null;
|
||||
private System.Windows.Forms.ComboBox decortypebox;
|
||||
private System.Windows.Forms.Label label1;
|
||||
private System.Windows.Forms.NumericUpDown numericUpDown1;
|
||||
private System.Windows.Forms.Label label2;
|
||||
private System.Windows.Forms.ComboBox decorationbox;
|
||||
private System.Windows.Forms.Label Decoration;
|
||||
private System.Windows.Forms.Button save_but;
|
||||
private System.Windows.Forms.Button add_but;
|
||||
private System.Windows.Forms.Button del_but;
|
||||
|
||||
/// <summary>
|
||||
/// Disposes resources used by the form.
|
||||
/// </summary>
|
||||
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing) {
|
||||
if (components != null) {
|
||||
components.Dispose();
|
||||
}
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// This method is required for Windows Forms designer support.
|
||||
/// Do not change the method contents inside the source code editor. The Forms designer might
|
||||
/// not be able to load this method if it was changed manually.
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
this.decortypebox = new System.Windows.Forms.ComboBox();
|
||||
this.label1 = new System.Windows.Forms.Label();
|
||||
this.label2 = new System.Windows.Forms.Label();
|
||||
this.decorationbox = new System.Windows.Forms.ComboBox();
|
||||
this.Decoration = new System.Windows.Forms.Label();
|
||||
this.save_but = new System.Windows.Forms.Button();
|
||||
this.numericUpDown1 = new System.Windows.Forms.NumericUpDown();
|
||||
this.add_but = new System.Windows.Forms.Button();
|
||||
this.del_but = new System.Windows.Forms.Button();
|
||||
((System.ComponentModel.ISupportInitialize)(this.numericUpDown1)).BeginInit();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// decortypebox
|
||||
//
|
||||
this.decortypebox.FormattingEnabled = true;
|
||||
this.decortypebox.Items.AddRange(new object[] {
|
||||
"Desk",
|
||||
"Chair",
|
||||
"Plant",
|
||||
"Ornament",
|
||||
"Mat",
|
||||
"Poster",
|
||||
"Doll",
|
||||
"Cushion"});
|
||||
this.decortypebox.Location = new System.Drawing.Point(9, 38);
|
||||
this.decortypebox.Name = "decortypebox";
|
||||
this.decortypebox.Size = new System.Drawing.Size(297, 21);
|
||||
this.decortypebox.TabIndex = 0;
|
||||
this.decortypebox.SelectedIndexChanged += new System.EventHandler(this.DecortypeboxSelectedIndexChanged);
|
||||
//
|
||||
// label1
|
||||
//
|
||||
this.label1.Location = new System.Drawing.Point(9, 16);
|
||||
this.label1.Name = "label1";
|
||||
this.label1.Size = new System.Drawing.Size(100, 19);
|
||||
this.label1.TabIndex = 1;
|
||||
this.label1.Text = "Decoration type";
|
||||
//
|
||||
// label2
|
||||
//
|
||||
this.label2.Location = new System.Drawing.Point(9, 73);
|
||||
this.label2.Name = "label2";
|
||||
this.label2.Size = new System.Drawing.Size(100, 13);
|
||||
this.label2.TabIndex = 3;
|
||||
this.label2.Text = "Slot";
|
||||
//
|
||||
// decorationbox
|
||||
//
|
||||
this.decorationbox.FormattingEnabled = true;
|
||||
this.decorationbox.Items.AddRange(new object[] {
|
||||
"Empty",
|
||||
"Small Desk",
|
||||
"Pokémon Desk",
|
||||
"Heavy Desk",
|
||||
"Ragged Desk",
|
||||
"Comfort Desk",
|
||||
"Pretty Desk",
|
||||
"Brick Desk",
|
||||
"Camp Desk",
|
||||
"Hard Desk"});
|
||||
this.decorationbox.Location = new System.Drawing.Point(135, 88);
|
||||
this.decorationbox.Name = "decorationbox";
|
||||
this.decorationbox.Size = new System.Drawing.Size(171, 21);
|
||||
this.decorationbox.TabIndex = 4;
|
||||
this.decorationbox.SelectedIndexChanged += new System.EventHandler(this.DecorationboxSelectedIndexChanged);
|
||||
//
|
||||
// Decoration
|
||||
//
|
||||
this.Decoration.Location = new System.Drawing.Point(135, 73);
|
||||
this.Decoration.Name = "Decoration";
|
||||
this.Decoration.Size = new System.Drawing.Size(100, 13);
|
||||
this.Decoration.TabIndex = 5;
|
||||
this.Decoration.Text = "Decoration";
|
||||
//
|
||||
// save_but
|
||||
//
|
||||
this.save_but.Location = new System.Drawing.Point(109, 130);
|
||||
this.save_but.Name = "save_but";
|
||||
this.save_but.Size = new System.Drawing.Size(75, 23);
|
||||
this.save_but.TabIndex = 6;
|
||||
this.save_but.Text = "Save";
|
||||
this.save_but.UseVisualStyleBackColor = true;
|
||||
this.save_but.Click += new System.EventHandler(this.Save_butClick);
|
||||
//
|
||||
// numericUpDown1
|
||||
//
|
||||
this.numericUpDown1.Location = new System.Drawing.Point(9, 89);
|
||||
this.numericUpDown1.Minimum = new decimal(new int[] {
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
this.numericUpDown1.Name = "numericUpDown1";
|
||||
this.numericUpDown1.Size = new System.Drawing.Size(120, 20);
|
||||
this.numericUpDown1.TabIndex = 2;
|
||||
this.numericUpDown1.Value = new decimal(new int[] {
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
this.numericUpDown1.ValueChanged += new System.EventHandler(this.NumericUpDown1ValueChanged);
|
||||
//
|
||||
// add_but
|
||||
//
|
||||
this.add_but.Location = new System.Drawing.Point(312, 73);
|
||||
this.add_but.Name = "add_but";
|
||||
this.add_but.Size = new System.Drawing.Size(37, 23);
|
||||
this.add_but.TabIndex = 7;
|
||||
this.add_but.Text = "Add";
|
||||
this.add_but.UseVisualStyleBackColor = true;
|
||||
this.add_but.Click += new System.EventHandler(this.Add_butClick);
|
||||
//
|
||||
// del_but
|
||||
//
|
||||
this.del_but.Location = new System.Drawing.Point(312, 102);
|
||||
this.del_but.Name = "del_but";
|
||||
this.del_but.Size = new System.Drawing.Size(37, 23);
|
||||
this.del_but.TabIndex = 8;
|
||||
this.del_but.Text = "Del";
|
||||
this.del_but.UseVisualStyleBackColor = true;
|
||||
this.del_but.Click += new System.EventHandler(this.Del_butClick);
|
||||
//
|
||||
// Decor_editor
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.ClientSize = new System.Drawing.Size(366, 165);
|
||||
this.Controls.Add(this.del_but);
|
||||
this.Controls.Add(this.add_but);
|
||||
this.Controls.Add(this.save_but);
|
||||
this.Controls.Add(this.Decoration);
|
||||
this.Controls.Add(this.decorationbox);
|
||||
this.Controls.Add(this.label2);
|
||||
this.Controls.Add(this.numericUpDown1);
|
||||
this.Controls.Add(this.label1);
|
||||
this.Controls.Add(this.decortypebox);
|
||||
this.Name = "Decor_editor";
|
||||
this.Text = "Decoration Inventory Editor";
|
||||
((System.ComponentModel.ISupportInitialize)(this.numericUpDown1)).EndInit();
|
||||
this.ResumeLayout(false);
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
384
wc3_tool/WC3/Decor_editor.cs
Normal file
384
wc3_tool/WC3/Decor_editor.cs
Normal file
|
|
@ -0,0 +1,384 @@
|
|||
/*
|
||||
* Created by SharpDevelop.
|
||||
* User: suloku
|
||||
* Date: 03/05/2016
|
||||
* Time: 17:34
|
||||
*
|
||||
* To change this template use Tools | Options | Coding | Edit Standard Headers.
|
||||
*/
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Data;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Windows.Forms;
|
||||
using System.IO;
|
||||
|
||||
|
||||
namespace WC3_TOOL
|
||||
{
|
||||
/// <summary>
|
||||
/// Description of Decor_editor.
|
||||
/// </summary>
|
||||
public partial class Decor_editor : Form
|
||||
{
|
||||
byte[] decorbuff;
|
||||
SAV3 sav3file;
|
||||
public string savfilter = MainScreen.savfilter;
|
||||
|
||||
public Decor_editor(SAV3 save)
|
||||
{
|
||||
//
|
||||
// The InitializeComponent() call is required for Windows Forms designer support.
|
||||
//
|
||||
InitializeComponent();
|
||||
sav3file = save;
|
||||
decorbuff = sav3file.get_decorations();
|
||||
|
||||
decortypebox.SelectedIndex = 0;
|
||||
numericUpDown1.Maximum = slots_max[decortypebox.SelectedIndex];
|
||||
decorationbox.SelectedIndex = 0;
|
||||
|
||||
load_decor();
|
||||
|
||||
//
|
||||
// TODO: Add constructor code after the InitializeComponent() call.
|
||||
//
|
||||
}
|
||||
|
||||
void del_item()
|
||||
{
|
||||
int i;
|
||||
int offset = 0;
|
||||
for (i=0; i<decortypebox.SelectedIndex; i++)
|
||||
{
|
||||
offset = offset + slots_max[i];
|
||||
}
|
||||
decorbuff[offset + (int)numericUpDown1.Value - 1] = 0x00;
|
||||
}
|
||||
|
||||
void set_item(int newitem)
|
||||
{
|
||||
int i;
|
||||
int offset = 0;
|
||||
for (i=0; i<decortypebox.SelectedIndex; i++)
|
||||
{
|
||||
offset = offset + slots_max[i];
|
||||
}
|
||||
int[] reference = desk_ref;
|
||||
switch(decortypebox.SelectedIndex)
|
||||
{
|
||||
case 0:
|
||||
reference = desk_ref;
|
||||
break;
|
||||
case 1:
|
||||
reference = chair_ref;
|
||||
break;
|
||||
case 2:
|
||||
reference = plant_ref;
|
||||
break;
|
||||
case 3:
|
||||
reference = ornament_ref;
|
||||
break;
|
||||
case 4:
|
||||
reference = mat_ref;
|
||||
break;
|
||||
case 5:
|
||||
reference = poster_ref;
|
||||
break;
|
||||
case 6:
|
||||
reference = doll_ref;
|
||||
break;
|
||||
case 7:
|
||||
reference = cushion_ref;
|
||||
break;
|
||||
}
|
||||
decorbuff[offset + (int)numericUpDown1.Value - 1] = (byte)reference[newitem];
|
||||
}
|
||||
|
||||
byte get_item(int modifier)
|
||||
{
|
||||
int item_index = (int)numericUpDown1.Value-1;
|
||||
if (item_index + modifier < 0)
|
||||
modifier = 0;
|
||||
|
||||
int i;
|
||||
int offset = 0;
|
||||
for (i=0; i<decortypebox.SelectedIndex; i++)
|
||||
{
|
||||
offset = offset + slots_max[i];
|
||||
}
|
||||
byte item = decorbuff[offset + item_index + modifier];
|
||||
return item;
|
||||
}
|
||||
void load_decor()
|
||||
{
|
||||
int i;
|
||||
byte item = get_item(0);
|
||||
//MessageBox.Show(item.ToString());
|
||||
|
||||
int[] reference = desk_ref;
|
||||
switch(decortypebox.SelectedIndex)
|
||||
{
|
||||
case 0:
|
||||
reference = desk_ref;
|
||||
break;
|
||||
case 1:
|
||||
reference = chair_ref;
|
||||
break;
|
||||
case 2:
|
||||
reference = plant_ref;
|
||||
break;
|
||||
case 3:
|
||||
reference = ornament_ref;
|
||||
break;
|
||||
case 4:
|
||||
reference = mat_ref;
|
||||
break;
|
||||
case 5:
|
||||
reference = poster_ref;
|
||||
break;
|
||||
case 6:
|
||||
reference = doll_ref;
|
||||
break;
|
||||
case 7:
|
||||
reference = cushion_ref;
|
||||
break;
|
||||
}
|
||||
for (i = 0; i<reference.Length; i++)
|
||||
{
|
||||
//MessageBox.Show(reference[i].ToString());
|
||||
if(item==reference[i]){
|
||||
decorationbox.SelectedIndex = i + 1;
|
||||
break;
|
||||
}else
|
||||
decorationbox.SelectedIndex = 0;
|
||||
}
|
||||
}
|
||||
int[] desk_ref = {1,2,3,4,5,6,7,8,9};
|
||||
int[] chair_ref = {10,11,12,13,14,15,16,17,18};
|
||||
int[] plant_ref = {19,20,21,22,23,24};
|
||||
int[] ornament_ref = {25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47};
|
||||
int[] mat_ref = {48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65};
|
||||
int[] poster_ref = {66,67,68,69,70,71,72,73,74,75};
|
||||
int[] doll_ref = {76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,111,112,113,114,115,116,117,118,119,120};
|
||||
int[] cushion_ref = {101,102,103,104,105,106,107,108,109,110};
|
||||
|
||||
int[] slots_max = {10,10,10,30,30,10,40,10};
|
||||
object[] Desks = new object[] {
|
||||
"Empty",
|
||||
"Small Desk",
|
||||
"Pokémon Desk",
|
||||
"Heavy Desk",
|
||||
"Ragged Desk",
|
||||
"Comfort Desk",
|
||||
"Pretty Desk",
|
||||
"Brick Desk",
|
||||
"Camp Desk",
|
||||
"Hard Desk"};
|
||||
object[] Chairs = new object[] {
|
||||
"Empty",
|
||||
"Small Chair",
|
||||
"Pokémon Chair",
|
||||
"Heavy Chair",
|
||||
"Pretty Chair",
|
||||
"Comfort Chair",
|
||||
"Ragged Chair",
|
||||
"Brick Chair",
|
||||
"Camp Chair",
|
||||
"Hard Chair"};
|
||||
object[] Plants = new object[] {
|
||||
"Empty",
|
||||
"Red Plant",
|
||||
"Tropical Plant",
|
||||
"Pretty Flowers",
|
||||
"Colorful Plant",
|
||||
"Big Plant",
|
||||
"Gorgeous Plant"};
|
||||
object[] Ornament = new object[] {
|
||||
"Empty",
|
||||
"Red Brick",
|
||||
"Yellow Brick",
|
||||
"Blue Brick",
|
||||
"Red Balloon",
|
||||
"Blue Balloon",
|
||||
"Yellow Balloon",
|
||||
"Red Tent",
|
||||
"Blue Tent",
|
||||
"Solid Board",
|
||||
"Slide",
|
||||
"Fence Length",
|
||||
"Fence Width",
|
||||
"Tire",
|
||||
"Stand",
|
||||
"Mud Ball",
|
||||
"Breakable Door",
|
||||
"Sand Ornament",
|
||||
"Silver Shield",
|
||||
"Gold Shield",
|
||||
"Glass Ornament",
|
||||
"TV",
|
||||
"Round TV",
|
||||
"Cute TV"};
|
||||
object[] Mats = new object[] {
|
||||
"Empty",
|
||||
"Glitter Mat",
|
||||
"Jump Mat",
|
||||
"Spin Mat",
|
||||
"C Low Note Mat",
|
||||
"D Note Mat",
|
||||
"E Note Mat",
|
||||
"F Note Mat",
|
||||
"G Note Mat",
|
||||
"A Note Mat",
|
||||
"B Note Mat",
|
||||
"C High Note Mat",
|
||||
"Surf Mat",
|
||||
"Thunder Mat",
|
||||
"Fire Blast Mat",
|
||||
"Powder Snow Mat",
|
||||
"Attract Mat",
|
||||
"Fissure Mat",
|
||||
"Spikes Mat"};
|
||||
object[] Posters = new object[] {
|
||||
"Empty",
|
||||
"Ball Poster",
|
||||
"Green Poster",
|
||||
"Red Poster",
|
||||
"Blue Poster",
|
||||
"Cute Poster",
|
||||
"Pika Poster",
|
||||
"Long Poster",
|
||||
"Sea Poster",
|
||||
"Sky Poster",
|
||||
"Kiss Poster"};
|
||||
object[] Dolls = new object[] {
|
||||
"Empty",
|
||||
"Pichu Doll",
|
||||
"Pikachu Doll",
|
||||
"Marill Doll",
|
||||
"Togepi Doll",
|
||||
"Cyndaquil Doll",
|
||||
"Chikorita Doll",
|
||||
"Totodile Doll",
|
||||
"Jigglypuff Doll",
|
||||
"Meowth Doll",
|
||||
"Clefairy Doll",
|
||||
"Ditto Doll",
|
||||
"Smoochum Doll",
|
||||
"Treecko Doll",
|
||||
"Torchic Doll",
|
||||
"Mudkip Doll",
|
||||
"Duskull Doll",
|
||||
"Wynaut Doll",
|
||||
"Baltoy Doll",
|
||||
"Kecleon Doll",
|
||||
"Azurill Doll",
|
||||
"Skitty Doll",
|
||||
"Swablu Doll",
|
||||
"Gulpin Doll",
|
||||
"Lotad Doll",
|
||||
"Seedot Doll",
|
||||
"Snorlax Doll",
|
||||
"Rhydon Doll",
|
||||
"Lapras Doll",
|
||||
"Venusaur Doll",
|
||||
"Charizard Doll",
|
||||
"Blastoise Doll",
|
||||
"Wailmer Doll",
|
||||
"Regirock Doll",
|
||||
"Regice Doll",
|
||||
"Registeel Doll"};
|
||||
object[] Cushions = new object[] {
|
||||
"Empty",
|
||||
"Pika Cushion",
|
||||
"Round Cushion",
|
||||
"Kiss Cushion",
|
||||
"Zigzag Cushion",
|
||||
"Spin Cushion",
|
||||
"Diamond Cushion",
|
||||
"Ball Cushion",
|
||||
"Grass Cushion",
|
||||
"Fire Cushion",
|
||||
"Water Cushion"};
|
||||
|
||||
void NumericUpDown1ValueChanged(object sender, EventArgs e)
|
||||
{
|
||||
if (get_item(-1) == 0x00) // There was already an empty slot, don't advance
|
||||
{
|
||||
if (numericUpDown1.Value - 1 < numericUpDown1.Minimum)
|
||||
numericUpDown1.Value = numericUpDown1.Minimum;
|
||||
else
|
||||
numericUpDown1.Value = numericUpDown1.Value-1;
|
||||
}else{
|
||||
|
||||
load_decor();
|
||||
}
|
||||
|
||||
}
|
||||
void DecortypeboxSelectedIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
numericUpDown1.Value = 1;
|
||||
numericUpDown1.Maximum = slots_max[decortypebox.SelectedIndex];
|
||||
decorationbox.Items.Clear();
|
||||
switch(decortypebox.SelectedIndex)
|
||||
{
|
||||
case 0:
|
||||
decorationbox.Items.AddRange(Desks);
|
||||
break;
|
||||
case 1:
|
||||
decorationbox.Items.AddRange(Chairs);
|
||||
break;
|
||||
case 2:
|
||||
decorationbox.Items.AddRange(Plants);
|
||||
break;
|
||||
case 3:
|
||||
decorationbox.Items.AddRange(Ornament);
|
||||
break;
|
||||
case 4:
|
||||
decorationbox.Items.AddRange(Mats);
|
||||
break;
|
||||
case 5:
|
||||
decorationbox.Items.AddRange(Posters);
|
||||
break;
|
||||
case 6:
|
||||
decorationbox.Items.AddRange(Dolls);
|
||||
break;
|
||||
case 7:
|
||||
decorationbox.Items.AddRange(Cushions);
|
||||
break;
|
||||
}
|
||||
numericUpDown1.Value = 1;
|
||||
numericUpDown1.Maximum = slots_max[decortypebox.SelectedIndex];
|
||||
decorationbox.SelectedIndex = 0;
|
||||
load_decor();
|
||||
|
||||
}
|
||||
void Save_butClick(object sender, EventArgs e)
|
||||
{
|
||||
sav3file.set_decoration(decorbuff);
|
||||
sav3file.update_section_chk(3);
|
||||
FileIO.save_data(sav3file.Data, savfilter);
|
||||
}
|
||||
void DecorationboxSelectedIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
}
|
||||
void Add_butClick(object sender, EventArgs e)
|
||||
{
|
||||
if (decorationbox.SelectedIndex != 0)
|
||||
set_item(decorationbox.SelectedIndex-1);
|
||||
}
|
||||
void Del_butClick(object sender, EventArgs e)
|
||||
{
|
||||
if (numericUpDown1.Value != numericUpDown1.Maximum && get_item(+1) != 0x00)
|
||||
MessageBox.Show("Please delete only last occupied slot.");
|
||||
else{
|
||||
del_item();
|
||||
load_decor();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
120
wc3_tool/WC3/Decor_editor.resx
Normal file
120
wc3_tool/WC3/Decor_editor.resx
Normal file
|
|
@ -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>
|
||||
337
wc3_tool/WC3/ECB.cs
Normal file
337
wc3_tool/WC3/ECB.cs
Normal file
|
|
@ -0,0 +1,337 @@
|
|||
/*
|
||||
* Created by SharpDevelop.
|
||||
* User: suloku
|
||||
* Date: 09/05/2016
|
||||
* Time: 0:54
|
||||
*
|
||||
* To change this template use Tools | Options | Coding | Edit Standard Headers.
|
||||
*/
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Data;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Windows.Forms;
|
||||
using System.IO;
|
||||
|
||||
namespace WC3_TOOL
|
||||
{
|
||||
/// <summary>
|
||||
/// Description of ECB.
|
||||
/// </summary>
|
||||
public class ECB
|
||||
{
|
||||
public const int SIZE_ECB = SAV3.BERRY_SIZE;
|
||||
public const int SIZE_SPRITE = 1152;
|
||||
public const int SIZE_PALETTE = 32;
|
||||
|
||||
// Global Settings
|
||||
// Save Data Attributes
|
||||
public byte[] Data;
|
||||
public bool Edited;
|
||||
public readonly bool Exportable;
|
||||
public readonly byte[] BAK;
|
||||
public string FileName, FilePath;
|
||||
public ECB(byte[] data)
|
||||
{
|
||||
Data = (byte[])(data ?? new byte[SIZE_ECB]).Clone();
|
||||
BAK = (byte[])Data.Clone();
|
||||
Exportable = !Data.SequenceEqual(new byte[Data.Length]);
|
||||
|
||||
isjap = false;
|
||||
|
||||
return;
|
||||
}
|
||||
public byte[] getData(int Offset, int Length)
|
||||
{
|
||||
return Data.Skip(Offset).Take(Length).ToArray();
|
||||
}
|
||||
public void setData(byte[] input, int Offset)
|
||||
{
|
||||
input.CopyTo(Data, Offset);
|
||||
Edited = true;
|
||||
}
|
||||
public void fix_berry_checksum()
|
||||
{
|
||||
byte[] chk = getData(0, SIZE_ECB-4);
|
||||
int i;
|
||||
for(i=0;i<8;i++) //These 8 bytes are taken as 0x00 for chk calculation
|
||||
{
|
||||
chk[0xC+i]=0x00;
|
||||
}
|
||||
UInt32 checksum = ME3.me3_checksum(chk, chk.Length);
|
||||
setData(BitConverter.GetBytes(checksum).ToArray(), SIZE_ECB-4);
|
||||
}
|
||||
public UInt32 get_berry_checksum()
|
||||
{
|
||||
byte[] chk = getData(0, SIZE_ECB-4);
|
||||
int i;
|
||||
for(i=0;i<8;i++) //These 8 bytes are taken as 0x00 for chk calculation
|
||||
{
|
||||
chk[0xC+i]=0x00;
|
||||
}
|
||||
return ME3.me3_checksum(chk, chk.Length);
|
||||
}
|
||||
|
||||
public byte[] get_sprite()
|
||||
{
|
||||
return getData(0x1C, SIZE_SPRITE);
|
||||
}
|
||||
public void set_sprite(byte[] sprite)
|
||||
{
|
||||
if (sprite.Length == SIZE_SPRITE)
|
||||
setData(sprite, 0x1C);
|
||||
}
|
||||
|
||||
public byte[] get_palette()
|
||||
{
|
||||
return getData(0x49C, SIZE_PALETTE);
|
||||
}
|
||||
public void set_palette(byte[] palette)
|
||||
{
|
||||
if (palette.Length == SIZE_PALETTE)
|
||||
setData(palette, 0x49C);
|
||||
}
|
||||
public byte[] get_full_sprite()
|
||||
{
|
||||
byte[] sprite = new byte[SIZE_SPRITE+SIZE_PALETTE];
|
||||
get_palette().CopyTo(sprite, 0);
|
||||
get_sprite().CopyTo(sprite, SIZE_PALETTE);
|
||||
return sprite;
|
||||
}
|
||||
public void set_full_sprite(byte[] sprite)
|
||||
{
|
||||
set_sprite(sprite.Skip(SIZE_PALETTE).Take(SIZE_SPRITE).ToArray());
|
||||
set_palette(sprite.Skip(0).Take(SIZE_PALETTE).ToArray());
|
||||
}
|
||||
public bool isjap;
|
||||
|
||||
public string NAME { get { return PKHeX.PKM.getG3Str(Data.Take(7).ToArray(), isjap); } set { setData(PKHeX.PKM.setG3Str(value, isjap), 0); } }
|
||||
public byte FIRMNESS { get { return Data[0x7]; } set { Data[0x7] = (byte) value; } }
|
||||
public UInt16 SIZE { get { return BitConverter.ToUInt16(Data, 0x8); } set { BitConverter.GetBytes((UInt16)value).CopyTo(Data, 0x8);; } }
|
||||
public byte YIELD_MAX { get { return Data[0xA]; } set { Data[0xA] = (byte) value; } }
|
||||
public byte YIELD_MIN { get { return Data[0xB]; } set { Data[0xB] = (byte) value; } }
|
||||
public byte GROWTH { get { return Data[0x14]; } set { Data[0x14] = (byte) value; } }
|
||||
public byte SPICY { get { return Data[0x15]; } set { Data[0x15] = (byte) value; } }
|
||||
public byte DRY { get { return Data[0x16]; } set { Data[0x16] = (byte) value; } }
|
||||
public byte SWEET { get { return Data[0x17]; } set { Data[0x17] = (byte) value; } }
|
||||
public byte BITTER { get { return Data[0x18]; } set { Data[0x18] = (byte) value; } }
|
||||
public byte SOUR { get { return Data[0x19]; } set { Data[0x19] = (byte) value; } }
|
||||
public byte SMOOTH { get { return Data[0x1A]; } set { Data[0x1A] = (byte) value; } }
|
||||
|
||||
public string DESC_1 { get { return PKHeX.PKM.getG3Str(Data.Skip(0x4BC).Take(45).ToArray(), isjap); } set { setData(PKHeX.PKM.setG3Str(value, isjap), 0x4BC); } }
|
||||
public string DESC_2 { get { return PKHeX.PKM.getG3Str(Data.Skip(0x4E9).Take(45).ToArray(), isjap); } set { setData(PKHeX.PKM.setG3Str(value, isjap), 0x4E9); } }
|
||||
|
||||
public byte HITEM { get { return Data[0x528]; } set { Data[0x528] = (byte) value; } }
|
||||
|
||||
public byte TR_0 { get { return Data[0x516]; } set { Data[0x516] = (byte) value; } }
|
||||
public bool TR_0_healinfatuation { get { return Convert.ToBoolean((TR_0 >> 07) & 0x01); } set { TR_0 = (byte)((TR_0 & ~(0x01 << 07)) | (byte)((value == true ? 0x01 : 0x00) << 07)); } }
|
||||
public bool TR_0_firstpkm { get { return Convert.ToBoolean((TR_0 >> 06) & 0x01); } set { TR_0 = (byte)((TR_0 & ~(0x01 << 06)) | (byte)((value == true ? 0x01 : 0x00) << 06)); } }
|
||||
public int TR_0_direhit { get { return (int)(TR_0 >> 05) & 0x03; } set { TR_0 = (byte)((TR_0 & ~(0x03 << 05)) | (byte)((value > 3 ? 3 : value) << 05)); } }
|
||||
public int TR_0_attackUP { get { return (int)(TR_0 >> 00) & 0x0f; } set { TR_0 = (byte)((TR_0 & ~(0x0f << 00)) | (byte)((value > 0xf ? 0xf : value) << 00)); } }
|
||||
|
||||
public byte TR_1 { get { return Data[0x517]; } set { Data[0x517] = (byte) value; } }
|
||||
public int TR_1_speedUP { get { return (int)(TR_1 >> 00) & 0x0f; } set { TR_1 = (byte)((TR_1 & ~(0x0f << 00)) | (byte)((value > 0xf ? 0xf : value) << 00)); } }
|
||||
public int TR_1_defUP { get { return (int)(TR_1 >> 04) & 0x0f; } set { TR_1 = (byte)((TR_1 & ~(0x0f << 04)) | (byte)((value > 0xf ? 0xf : value) << 04)); } }
|
||||
|
||||
public byte TR_2 { get { return Data[0x518]; } set { Data[0x518] = (byte) value; } }
|
||||
public int TR_2_espUP { get { return (int)(TR_2 >> 00) & 0x0f; } set { TR_2 = (byte)((TR_2 & ~(0x0f << 00)) | (byte)((value > 0xf ? 0xf : value) << 00)); } }
|
||||
public int TR_2_accUP { get { return (int)(TR_2 >> 04) & 0x0f; } set { TR_2 = (byte)((TR_2 & ~(0x0f << 04)) | (byte)((value > 0xf ? 0xf : value) << 04)); } }
|
||||
|
||||
public byte TR_3 { get { return Data[0x519]; } set { Data[0x519] = (byte) value; } }
|
||||
public bool TR_3_guardspec { get { return Convert.ToBoolean((TR_3 >> 07) & 0x01); } set { TR_3 = (byte)((TR_3 & ~(0x01 << 07)) | (byte)((value == true ? 0x01 : 0x00) << 07)); } }
|
||||
public bool TR_3_lvlUP { get { return Convert.ToBoolean((TR_3 >> 06) & 0x01); } set { TR_3 = (byte)((TR_3 & ~(0x01 << 06)) | (byte)((value == true ? 0x01 : 0x00) << 06)); } }
|
||||
public bool TR_3_clearSleep { get { return Convert.ToBoolean((TR_3 >> 05) & 0x01); } set { TR_3 = (byte)((TR_3 & ~(0x01 << 05)) | (byte)((value == true ? 0x01 : 0x00) << 05)); } }
|
||||
public bool TR_3_clearPoison { get { return Convert.ToBoolean((TR_3 >> 04) & 0x01); } set { TR_3 = (byte)((TR_3 & ~(0x01 << 04)) | (byte)((value == true ? 0x01 : 0x00) << 04)); } }
|
||||
public bool TR_3_clearBurn { get { return Convert.ToBoolean((TR_3 >> 03) & 0x01); } set { TR_3 = (byte)((TR_3 & ~(0x01 << 03)) | (byte)((value == true ? 0x01 : 0x00) << 03)); } }
|
||||
public bool TR_3_clearIce { get { return Convert.ToBoolean((TR_3 >> 02) & 0x01); } set { TR_3 = (byte)((TR_3 & ~(0x01 << 02)) | (byte)((value == true ? 0x01 : 0x00) << 02)); } }
|
||||
public bool TR_3_clearPar { get { return Convert.ToBoolean((TR_3 >> 01) & 0x01); } set { TR_3 = (byte)((TR_3 & ~(0x01 << 01)) | (byte)((value == true ? 0x01 : 0x00) << 01)); } }
|
||||
public bool TR_3_clearConf { get { return Convert.ToBoolean((TR_3 >> 00) & 0x01); } set { TR_3 = (byte)((TR_3 & ~(0x01 << 00)) | (byte)((value == true ? 0x01 : 0x00) << 00)); } }
|
||||
|
||||
public byte TR_4 { get { return Data[0x51A]; } set { Data[0x51A] = (byte) value; } }
|
||||
public bool TR_4_stone { get { return Convert.ToBoolean((TR_4 >> 07) & 0x01); } set { TR_4 = (byte)((TR_4 & ~(0x01 << 07)) | (byte)((value == true ? 0x01 : 0x00) << 07)); } }
|
||||
public bool TR_4_revive { get { return Convert.ToBoolean((TR_4 >> 06) & 0x01); } set { TR_4 = (byte)((TR_4 & ~(0x01 << 06)) | (byte)((value == true ? 0x01 : 0x00) << 06)); } }
|
||||
public bool TR_4_maxPPUP { get { return Convert.ToBoolean((TR_4 >> 05) & 0x01); } set { TR_4 = (byte)((TR_4 & ~(0x01 << 05)) | (byte)((value == true ? 0x01 : 0x00) << 05)); } }
|
||||
public bool TR_4_onlyatack { get { return Convert.ToBoolean((TR_4 >> 04) & 0x01); } set { TR_4 = (byte)((TR_4 & ~(0x01 << 04)) | (byte)((value == true ? 0x01 : 0x00) << 04)); } }
|
||||
public bool TR_4_healPP { get { return Convert.ToBoolean((TR_4 >> 03) & 0x01); } set { TR_4 = (byte)((TR_4 & ~(0x01 << 03)) | (byte)((value == true ? 0x01 : 0x00) << 03)); } }
|
||||
public bool TR_4_healHP { get { return Convert.ToBoolean((TR_4 >> 02) & 0x01); } set { TR_4 = (byte)((TR_4 & ~(0x01 << 02)) | (byte)((value == true ? 0x01 : 0x00) << 02)); } }
|
||||
public bool TR_4_atkEVUP { get { return Convert.ToBoolean((TR_4 >> 01) & 0x01); } set { TR_4 = (byte)((TR_4 & ~(0x01 << 01)) | (byte)((value == true ? 0x01 : 0x00) << 01)); } }
|
||||
public bool TR_4_hpEVUP { get { return Convert.ToBoolean((TR_4 >> 00) & 0x01); } set { TR_4 = (byte)((TR_4 & ~(0x01 << 00)) | (byte)((value == true ? 0x01 : 0x00) << 00)); } }
|
||||
|
||||
|
||||
public byte TR_5 { get { return Data[0x51B]; } set { Data[0x51B] = (byte) value; } }
|
||||
public bool TR_5_happy200 { get { return Convert.ToBoolean((TR_5 >> 07) & 0x01); } set { TR_5 = (byte)((TR_5 & ~(0x01 << 07)) | (byte)((value == true ? 0x01 : 0x00) << 07)); } }
|
||||
public bool TR_5_happy100 { get { return Convert.ToBoolean((TR_5 >> 06) & 0x01); } set { TR_5 = (byte)((TR_5 & ~(0x01 << 06)) | (byte)((value == true ? 0x01 : 0x00) << 06)); } }
|
||||
public bool TR_5_happy0 { get { return Convert.ToBoolean((TR_5 >> 05) & 0x01); } set { TR_5 = (byte)((TR_5 & ~(0x01 << 05)) | (byte)((value == true ? 0x01 : 0x00) << 05)); } }
|
||||
public bool TR_5_ppMax { get { return Convert.ToBoolean((TR_5 >> 04) & 0x01); } set { TR_5 = (byte)((TR_5 & ~(0x01 << 04)) | (byte)((value == true ? 0x01 : 0x00) << 04)); } }
|
||||
public bool TR_5_spdefEVUP { get { return Convert.ToBoolean((TR_5 >> 03) & 0x01); } set { TR_5 = (byte)((TR_5 & ~(0x01 << 03)) | (byte)((value == true ? 0x01 : 0x00) << 03)); } }
|
||||
public bool TR_5_spatkEVUP { get { return Convert.ToBoolean((TR_5 >> 02) & 0x01); } set { TR_5 = (byte)((TR_5 & ~(0x01 << 02)) | (byte)((value == true ? 0x01 : 0x00) << 02)); } }
|
||||
public bool TR_5_spEVUP { get { return Convert.ToBoolean((TR_5 >> 01) & 0x01); } set { TR_5 = (byte)((TR_5 & ~(0x01 << 01)) | (byte)((value == true ? 0x01 : 0x00) << 01)); } }
|
||||
public bool TR_5_defEVUP { get { return Convert.ToBoolean((TR_5 >> 00) & 0x01); } set { TR_5 = (byte)((TR_5 & ~(0x01 << 00)) | (byte)((value == true ? 0x01 : 0x00) << 00)); } }
|
||||
|
||||
public byte TR_6 { get { return Data[0x51C]; } set { Data[0x51C] = (byte) value; } }
|
||||
public sbyte TR_7 { get { return (sbyte)Data[0x51D]; } set { Data[0x51D] = (byte) value; } }
|
||||
public sbyte TR_8 { get { return (sbyte)Data[0x51E]; } set { Data[0x51E] = (byte) value; } }
|
||||
public sbyte TR_9 { get { return (sbyte)Data[0x51F]; } set { Data[0x51F] = (byte) value; } }
|
||||
|
||||
public byte HPRecovery {
|
||||
get {
|
||||
if(TR_4_revive == true || TR_4_healHP == true)
|
||||
return TR_6;
|
||||
else
|
||||
return 0;
|
||||
}
|
||||
set {
|
||||
if(TR_4_revive == true || TR_4_healHP == true)
|
||||
TR_6 = (byte) value;
|
||||
} }
|
||||
public byte PPRecovery {
|
||||
get {
|
||||
if(TR_4_healPP == true)
|
||||
return TR_6;
|
||||
else
|
||||
return 0;
|
||||
}
|
||||
set {
|
||||
if(TR_4_healPP == true)
|
||||
TR_6 = (byte) value;
|
||||
} }
|
||||
public sbyte EVchange {
|
||||
get {
|
||||
if(TR_5_spEVUP == true || TR_5_defEVUP == true || TR_4_atkEVUP == true ||
|
||||
TR_4_hpEVUP == true || TR_5_spdefEVUP == true || TR_5_spatkEVUP == true )
|
||||
return (sbyte)TR_6;
|
||||
else
|
||||
return 0;
|
||||
}
|
||||
set {
|
||||
if(TR_5_spEVUP == true || TR_5_defEVUP == true || TR_4_atkEVUP == true ||
|
||||
TR_4_hpEVUP == true || TR_5_spdefEVUP == true || TR_5_spatkEVUP == true )
|
||||
TR_6 = (byte) value;
|
||||
} }
|
||||
|
||||
public sbyte Happy200 {
|
||||
get {
|
||||
if(TR_4_revive == true || TR_4_healHP == true || TR_4_healPP == true || TR_4_atkEVUP == true ||
|
||||
TR_4_hpEVUP == true || TR_5_spdefEVUP == true || TR_5_spatkEVUP == true ||
|
||||
TR_5_spEVUP == true || TR_5_defEVUP == true)
|
||||
return (sbyte)TR_7;
|
||||
else
|
||||
return (sbyte)TR_6;
|
||||
} set {
|
||||
if(TR_4_revive == true || TR_4_healHP == true || TR_4_healPP == true || TR_4_atkEVUP == true ||
|
||||
TR_4_hpEVUP == true || TR_5_spdefEVUP == true || TR_5_spatkEVUP == true ||
|
||||
TR_5_spEVUP == true || TR_5_defEVUP == true)
|
||||
TR_7 = (sbyte) value;
|
||||
else
|
||||
TR_6 = (byte) value;
|
||||
} }
|
||||
public sbyte Happy100 {
|
||||
get {
|
||||
if(TR_4_revive == true || TR_4_healHP == true || TR_4_healPP == true || TR_4_atkEVUP == true ||
|
||||
TR_4_hpEVUP == true || TR_5_spdefEVUP == true || TR_5_spatkEVUP == true ||
|
||||
TR_5_spEVUP == true || TR_5_defEVUP == true)
|
||||
{
|
||||
if(TR_5_happy200 == true)
|
||||
return (sbyte)TR_8;
|
||||
else
|
||||
return (sbyte)TR_7;
|
||||
}
|
||||
else{
|
||||
if(TR_5_happy200 == true)
|
||||
return (sbyte)TR_7;
|
||||
else
|
||||
return (sbyte)TR_6;
|
||||
}
|
||||
} set {
|
||||
if(TR_4_revive == true || TR_4_healHP == true || TR_4_healPP == true || TR_4_atkEVUP == true ||
|
||||
TR_4_hpEVUP == true || TR_5_spdefEVUP == true || TR_5_spatkEVUP == true ||
|
||||
TR_5_spEVUP == true || TR_5_defEVUP == true)
|
||||
{
|
||||
if(TR_5_happy200 == true)
|
||||
TR_8 = (sbyte) value;
|
||||
else
|
||||
TR_7 = (sbyte) value;
|
||||
}
|
||||
|
||||
else{
|
||||
if(TR_5_happy200 == true)
|
||||
TR_7 = (sbyte) value;
|
||||
else
|
||||
TR_6 = (byte) value;
|
||||
}
|
||||
|
||||
} }
|
||||
public sbyte Happy0 {
|
||||
get {
|
||||
if(TR_4_revive == true || TR_4_healHP == true || TR_4_healPP == true || TR_4_atkEVUP == true ||
|
||||
TR_4_hpEVUP == true || TR_5_spdefEVUP == true || TR_5_spatkEVUP == true ||
|
||||
TR_5_spEVUP == true || TR_5_defEVUP == true)
|
||||
{
|
||||
if(TR_5_happy200 == true){
|
||||
if(TR_5_happy100 == true){
|
||||
return (sbyte)TR_9;
|
||||
}else{
|
||||
return (sbyte)TR_8;}
|
||||
}else{
|
||||
if(TR_5_happy100 == true){
|
||||
return (sbyte)TR_8;}
|
||||
else{
|
||||
return (sbyte)TR_7;
|
||||
}
|
||||
}
|
||||
}
|
||||
else{
|
||||
if(TR_5_happy200 == true){
|
||||
if(TR_5_happy100 == true){
|
||||
return (sbyte)TR_8;}
|
||||
else{
|
||||
return (sbyte)TR_7;}
|
||||
}else{
|
||||
if(TR_5_happy100 == true){
|
||||
return (sbyte)TR_7;}
|
||||
else{
|
||||
return (sbyte)TR_6;}
|
||||
}
|
||||
}
|
||||
} set {
|
||||
if(TR_4_revive == true || TR_4_healHP == true || TR_4_healPP == true || TR_4_atkEVUP == true ||
|
||||
TR_4_hpEVUP == true || TR_5_spdefEVUP == true || TR_5_spatkEVUP == true ||
|
||||
TR_5_spEVUP == true || TR_5_defEVUP == true)
|
||||
{
|
||||
if(TR_5_happy200 == true){
|
||||
if(TR_5_happy100 == true)
|
||||
TR_9 = (sbyte) value;
|
||||
else
|
||||
TR_8 = (sbyte) value;
|
||||
}else{
|
||||
if(TR_5_happy100 == true)
|
||||
TR_8 = (sbyte) value;
|
||||
else
|
||||
TR_7 = (sbyte) value;
|
||||
}
|
||||
}
|
||||
|
||||
else{
|
||||
if(TR_5_happy200 == true){
|
||||
if(TR_5_happy100 == true)
|
||||
TR_8 = (sbyte) value;
|
||||
else
|
||||
TR_7 = (sbyte) value;
|
||||
}else{
|
||||
if(TR_5_happy100 == true)
|
||||
TR_7 = (sbyte) value;
|
||||
else
|
||||
TR_6 = (byte) value;
|
||||
}
|
||||
}
|
||||
|
||||
} }
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
1282
wc3_tool/WC3/ECB_editor.Designer.cs
generated
Normal file
1282
wc3_tool/WC3/ECB_editor.Designer.cs
generated
Normal file
File diff suppressed because it is too large
Load Diff
312
wc3_tool/WC3/ECB_editor.cs
Normal file
312
wc3_tool/WC3/ECB_editor.cs
Normal file
|
|
@ -0,0 +1,312 @@
|
|||
/*
|
||||
* Created by SharpDevelop.
|
||||
* User: suloku
|
||||
* Date: 09/05/2016
|
||||
* Time: 0:59
|
||||
*
|
||||
* To change this template use Tools | Options | Coding | Edit Standard Headers.
|
||||
*/
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Data;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Windows.Forms;
|
||||
using System.IO;
|
||||
|
||||
namespace WC3_TOOL
|
||||
{
|
||||
/// <summary>
|
||||
/// Description of ECB_editor.
|
||||
/// </summary>
|
||||
public partial class ECB_editor : Form
|
||||
{
|
||||
public ECB_editor()
|
||||
{
|
||||
//
|
||||
// The InitializeComponent() call is required for Windows Forms designer support.
|
||||
//
|
||||
InitializeComponent();
|
||||
hap200.Minimum = -127;
|
||||
hap100.Minimum = -127;
|
||||
happ0.Minimum = -127;
|
||||
tr6_val.Minimum = 0;
|
||||
tr6_val.Maximum = 255;
|
||||
|
||||
//
|
||||
// TODO: Add constructor code after the InitializeComponent() call.
|
||||
//
|
||||
}
|
||||
public string berryfilter = "e-card Berry file|*.ecb|All Files (*.*)|*.*";
|
||||
public string berry_sp_filter = "All Files (*.*)|*.*";
|
||||
public byte[] ecbbuffer;
|
||||
public byte[] spritebuf;
|
||||
public byte[] paletebuf;
|
||||
public static ECB ecbfile;
|
||||
|
||||
void Load_ECB(string path)
|
||||
{
|
||||
int filesize = FileIO.load_file(ref ecbbuffer, ref path, berryfilter);
|
||||
if( filesize == ECB.SIZE_ECB )
|
||||
{
|
||||
ecb_path.Text = path;
|
||||
ecbfile = new ECB(ecbbuffer);
|
||||
|
||||
update_ecbData();
|
||||
|
||||
save_ecb_but.Enabled = true;
|
||||
palette_export_but.Enabled = true;
|
||||
palette_import_but.Enabled = true;
|
||||
sprite_export_but.Enabled = true;
|
||||
sprite_import_but.Enabled = true;
|
||||
|
||||
}else{
|
||||
MessageBox.Show("Invalid file size.");
|
||||
}
|
||||
}
|
||||
|
||||
void Load_ecb_butClick(object sender, EventArgs e)
|
||||
{
|
||||
Load_ECB(null);
|
||||
}
|
||||
void Save_ecb_butClick(object sender, EventArgs e)
|
||||
{
|
||||
set_ecbData();
|
||||
ecbfile.fix_berry_checksum();
|
||||
//if (ecbfile.Edited)
|
||||
FileIO.save_data(ecbfile.Data, berryfilter);
|
||||
//else MessageBox.Show("Save has not been edited");
|
||||
}
|
||||
void update_ecbData()
|
||||
{
|
||||
name.Text = ecbfile.NAME;
|
||||
firm_box.SelectedIndex = ecbfile.FIRMNESS-1;
|
||||
size.Value = ecbfile.SIZE;
|
||||
yield_max.Value = ecbfile.YIELD_MAX;
|
||||
yield_min.Value = ecbfile.YIELD_MIN;
|
||||
growth.Value = ecbfile.GROWTH;
|
||||
spicy.Value = ecbfile.SPICY;
|
||||
dry.Value = ecbfile.DRY;
|
||||
sweet.Value = ecbfile.SWEET;
|
||||
bitter.Value = ecbfile.BITTER;
|
||||
sour.Value = ecbfile.SOUR;
|
||||
smooth.Value = ecbfile.SMOOTH;
|
||||
|
||||
desc1.Text = ecbfile.DESC_1;
|
||||
desc2.Text = ecbfile.DESC_2;
|
||||
|
||||
held.Value = ecbfile.HITEM;
|
||||
|
||||
heal_burn.Checked = ecbfile.TR_3_clearBurn;
|
||||
heal_confu.Checked = ecbfile.TR_3_clearConf;
|
||||
heal_ice.Checked = ecbfile.TR_3_clearIce;
|
||||
heal_inf.Checked = ecbfile.TR_0_healinfatuation;
|
||||
heal_para.Checked = ecbfile.TR_3_clearPar;
|
||||
heal_poison.Checked = ecbfile.TR_3_clearPoison;
|
||||
heal_sleep.Checked = ecbfile.TR_3_clearSleep;
|
||||
|
||||
guard.Checked = ecbfile.TR_3_guardspec;
|
||||
lvlup.Checked = ecbfile.TR_3_lvlUP;
|
||||
|
||||
firstpoke.Checked = ecbfile.TR_0_firstpkm;
|
||||
|
||||
direhit.Value = ecbfile.TR_0_direhit;
|
||||
atkup.Value = ecbfile.TR_0_attackUP;
|
||||
defup.Value = ecbfile.TR_1_defUP;
|
||||
speedup.Value = ecbfile.TR_1_speedUP;
|
||||
spatkup.Value = ecbfile.TR_2_espUP;
|
||||
accurup.Value = ecbfile.TR_2_accUP;
|
||||
|
||||
ev_hp.Checked = ecbfile.TR_4_hpEVUP;
|
||||
ev_atk.Checked = ecbfile.TR_4_atkEVUP;
|
||||
ev_def.Checked = ecbfile.TR_5_defEVUP;
|
||||
ev_speed.Checked = ecbfile.TR_5_spEVUP;
|
||||
ev_speatk.Checked = ecbfile.TR_5_spatkEVUP;
|
||||
ev_spedef.Checked = ecbfile.TR_5_spdefEVUP;
|
||||
|
||||
if (ecbfile.HPRecovery != 0)
|
||||
tr6_val.Value = ecbfile.HPRecovery;
|
||||
else if (ecbfile.PPRecovery != 0)
|
||||
tr6_val.Value = ecbfile.PPRecovery;
|
||||
else if (ecbfile.EVchange != 0)
|
||||
tr6_val.Value = ecbfile.EVchange;
|
||||
//else if (ecbfile.HPRecovery == 0 && ecbfile.EVchange == 0 && ecbfile.PPRecovery == 0)
|
||||
// tr6_val.Enabled = false;
|
||||
|
||||
heal_hp.Checked = ecbfile.TR_4_healHP;
|
||||
heal_pp.Checked = ecbfile.TR_4_healPP;
|
||||
selectedatk.Checked = ecbfile.TR_4_onlyatack;
|
||||
maxppUP.Checked = ecbfile.TR_4_maxPPUP;
|
||||
revive.Checked = ecbfile.TR_4_revive;
|
||||
stone.Checked = ecbfile.TR_4_stone;
|
||||
ppup.Checked = ecbfile.TR_5_ppMax;
|
||||
|
||||
happy200.Checked = ecbfile.TR_5_happy200;
|
||||
happy100.Checked = ecbfile.TR_5_happy100;
|
||||
happy0.Checked = ecbfile.TR_5_happy0;
|
||||
|
||||
if (happy200.Checked == true)
|
||||
hap200.Value = ecbfile.Happy200;
|
||||
else
|
||||
hap200.Value = 0;
|
||||
if (happy100.Checked == true)
|
||||
hap100.Value = ecbfile.Happy100;
|
||||
else
|
||||
hap100.Value = 0;
|
||||
if (happy0.Checked == true)
|
||||
happ0.Value = ecbfile.Happy0;
|
||||
else
|
||||
happ0.Value = 0;
|
||||
|
||||
}
|
||||
|
||||
void set_ecbData()
|
||||
{
|
||||
ecbfile.NAME = name.Text;
|
||||
ecbfile.FIRMNESS = (byte)(firm_box.SelectedIndex+1);
|
||||
ecbfile.SIZE = (UInt16) size.Value;
|
||||
ecbfile.YIELD_MAX = (byte)yield_max.Value;
|
||||
ecbfile.YIELD_MIN = (byte)yield_min.Value;
|
||||
ecbfile.GROWTH = (byte)growth.Value;
|
||||
ecbfile.SPICY = (byte)spicy.Value;
|
||||
ecbfile.DRY = (byte)dry.Value;
|
||||
ecbfile.SWEET = (byte)sweet.Value;
|
||||
ecbfile.BITTER = (byte)bitter.Value;
|
||||
ecbfile.SOUR = (byte)sour.Value;
|
||||
ecbfile.SMOOTH = (byte)smooth.Value;
|
||||
|
||||
ecbfile.DESC_1 = desc1.Text;
|
||||
ecbfile.DESC_2 = desc2.Text;
|
||||
|
||||
ecbfile.HITEM = (byte) held.Value;
|
||||
|
||||
ecbfile.TR_3_clearBurn = heal_burn.Checked;
|
||||
ecbfile.TR_3_clearConf = heal_confu.Checked ;
|
||||
ecbfile.TR_3_clearIce = heal_ice.Checked;
|
||||
ecbfile.TR_0_healinfatuation = heal_inf.Checked;
|
||||
ecbfile.TR_3_clearPar = heal_para.Checked;
|
||||
ecbfile.TR_3_clearPoison = heal_poison.Checked;
|
||||
ecbfile.TR_3_clearSleep = heal_sleep.Checked;
|
||||
|
||||
ecbfile.TR_3_guardspec = guard.Checked;
|
||||
ecbfile.TR_3_lvlUP = lvlup.Checked;
|
||||
|
||||
ecbfile.TR_0_firstpkm = firstpoke.Checked;
|
||||
|
||||
ecbfile.TR_0_direhit = (int)direhit.Value;
|
||||
ecbfile.TR_0_attackUP = (int)atkup.Value;
|
||||
ecbfile.TR_1_defUP = (int)defup.Value;
|
||||
ecbfile.TR_1_speedUP = (int)speedup.Value;
|
||||
ecbfile.TR_2_espUP = (int)spatkup.Value;
|
||||
ecbfile.TR_2_accUP = (int)accurup.Value;
|
||||
|
||||
ecbfile.TR_4_hpEVUP = ev_hp.Checked;
|
||||
ecbfile.TR_4_atkEVUP = ev_atk.Checked;
|
||||
ecbfile.TR_5_defEVUP = ev_def.Checked;
|
||||
ecbfile.TR_5_spEVUP = ev_speed.Checked;
|
||||
ecbfile.TR_5_spatkEVUP = ev_speatk.Checked;
|
||||
ecbfile.TR_5_spdefEVUP = ev_spedef.Checked;
|
||||
|
||||
ecbfile.TR_4_healHP = heal_hp.Checked;
|
||||
ecbfile.TR_4_healPP = heal_pp.Checked;
|
||||
ecbfile.TR_4_onlyatack = selectedatk.Checked;
|
||||
ecbfile.TR_4_maxPPUP = maxppUP.Checked;
|
||||
ecbfile.TR_4_revive = revive.Checked;
|
||||
ecbfile.TR_4_stone = stone.Checked;
|
||||
ecbfile.TR_5_ppMax = ppup.Checked;
|
||||
|
||||
//Only put the first value found
|
||||
if (heal_hp.Checked == true)
|
||||
ecbfile.HPRecovery = (byte)tr6_val.Value;
|
||||
else if (heal_pp.Checked == true)
|
||||
ecbfile.PPRecovery = (byte)tr6_val.Value;
|
||||
else if (ev_hp.Checked == true || ev_atk.Checked == true || ev_def.Checked == true || ev_speed.Checked == true || ev_speatk.Checked == true || ev_spedef.Checked == true)
|
||||
ecbfile.EVchange = (sbyte)tr6_val.Value;
|
||||
|
||||
ecbfile.TR_5_happy200 = happy200.Checked;
|
||||
ecbfile.TR_5_happy100 = happy100.Checked;
|
||||
ecbfile.TR_5_happy0 = happy0.Checked;
|
||||
|
||||
ecbfile.Happy200 = (sbyte)hap200.Value;
|
||||
ecbfile.Happy100 = (sbyte)hap100.Value;
|
||||
ecbfile.Happy0 = (sbyte)happ0.Value;
|
||||
}
|
||||
void Held_helpClick(object sender, EventArgs e)
|
||||
{
|
||||
MessageBox.Show("Known values:\n00: No effect\n04: Cures poison (Drash Berry)\n05: Cures burn (Japanese Yago Berry)\n06: Cures freeze (Pumkin Berry)\n08: Cures confusion (Japanese Touga Berry)\n23: Restores a lowered stat (Japanese Ginema Berry)\n28: Cures infatuation (Eggant Berry)");
|
||||
}
|
||||
void Sprite_export_butClick(object sender, EventArgs e)
|
||||
{
|
||||
FileIO.save_data(ecbfile.get_full_sprite(), berry_sp_filter);
|
||||
}
|
||||
void Sprite_import_butClick(object sender, EventArgs e)
|
||||
{
|
||||
string path = null;
|
||||
int filesize = FileIO.load_file(ref spritebuf, ref path, berry_sp_filter);
|
||||
if( filesize == ECB.SIZE_SPRITE+ECB.SIZE_PALETTE)
|
||||
{
|
||||
ecbfile.set_full_sprite(spritebuf);
|
||||
MessageBox.Show("Berry sprite injected.");
|
||||
|
||||
}else if (filesize == -1){
|
||||
;
|
||||
}else{
|
||||
MessageBox.Show("Invalid file size.");
|
||||
}
|
||||
}
|
||||
void Palette_import_butClick(object sender, EventArgs e)
|
||||
{
|
||||
string path = null;
|
||||
int filesize = FileIO.load_file(ref paletebuf, ref path, berry_sp_filter);
|
||||
if( filesize == ECB.SIZE_PALETTE)
|
||||
{
|
||||
ecbfile.set_palette(paletebuf);
|
||||
MessageBox.Show("Berry palette injected.");
|
||||
|
||||
}else if (filesize == -1){
|
||||
;
|
||||
}else{
|
||||
MessageBox.Show("Invalid file size.");
|
||||
}
|
||||
}
|
||||
void Palette_export_butClick(object sender, EventArgs e)
|
||||
{
|
||||
FileIO.save_data(ecbfile.get_palette(), berry_sp_filter);
|
||||
}
|
||||
void Sprite_helpClick(object sender, EventArgs e)
|
||||
{
|
||||
MessageBox.Show("To edit the berry sprite you may use \"Nameless Sprite Editor (NSE) 2.1 beta\".\nSave the berry sprite as \".gba\" file and open in NSE with \"Load ROM\" option, then click navigate and input this values:\n\tImage offset: 20\n\tPalette ofsset: 0\n\tWidth: 6\n\tHeight: 6\n\nThen click open and edit the sprite. To save it simply use file->save or control+S (palette can be edited too, use the palette editor's save button to save it).\n\nTo inject the berry sprite you can simply import the modified berry \".gba\" file");
|
||||
}
|
||||
void Jap_encodingCheckedChanged(object sender, EventArgs e)
|
||||
{
|
||||
ecbfile.isjap = jap_encoding.Checked;
|
||||
name.Text = ecbfile.NAME;
|
||||
desc1.Text = ecbfile.DESC_1;
|
||||
desc2.Text = ecbfile.DESC_2;
|
||||
}
|
||||
void PphelpClick(object sender, EventArgs e)
|
||||
{
|
||||
MessageBox.Show("Healing HP and PP are mutually exclusive, you cannot heal PP and HP at the same time. HP takes precedence over PP if both are set. ");
|
||||
}
|
||||
void Modifier_helpClick(object sender, EventArgs e)
|
||||
{
|
||||
MessageBox.Show("PP restoring items have a maximum of 127.\nFor health restoration, 255 means max health, 254 means half max health, 253 is used by rare candy (only increase with level up).\nFor EV items, 0-127 increases EV, 128-255 decreases EV (128 is -1, 255 is -127).");
|
||||
}
|
||||
void NoteClick(object sender, EventArgs e)
|
||||
{
|
||||
MessageBox.Show("Keep in mind that there are incompatibilities between flags. For example you can't make an HP restoring berry that also levels up a pokémon and expect it to be usable in battle, since a level up item can only be used from the bag.");
|
||||
}
|
||||
|
||||
void ECB_editorDragEnter(object sender, DragEventArgs e)
|
||||
{
|
||||
e.Effect = DragDropEffects.All;
|
||||
}
|
||||
void ECB_editorDragDrop(object sender, DragEventArgs e)
|
||||
{
|
||||
string[] files = (string[])e.Data.GetData(DataFormats.FileDrop, false);
|
||||
Load_ECB(files[0]);
|
||||
}
|
||||
}
|
||||
}
|
||||
120
wc3_tool/WC3/ECB_editor.resx
Normal file
120
wc3_tool/WC3/ECB_editor.resx
Normal file
|
|
@ -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>
|
||||
136
wc3_tool/WC3/ECT.cs
Normal file
136
wc3_tool/WC3/ECT.cs
Normal file
|
|
@ -0,0 +1,136 @@
|
|||
/*
|
||||
* Created by SharpDevelop.
|
||||
* User: suloku
|
||||
* Date: 03/05/2016
|
||||
* Time: 20:54
|
||||
*
|
||||
* To change this template use Tools | Options | Coding | Edit Standard Headers.
|
||||
*/
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Data;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Windows.Forms;
|
||||
using System.IO;
|
||||
|
||||
namespace WC3_TOOL
|
||||
{
|
||||
/// <summary>
|
||||
/// Description of ECT.
|
||||
/// </summary>
|
||||
public class ECT
|
||||
{
|
||||
public const int SIZE_ECT = 188;
|
||||
|
||||
// Global Settings
|
||||
// Save Data Attributes
|
||||
public byte[] Data;
|
||||
public bool Edited;
|
||||
public readonly bool Exportable;
|
||||
public readonly byte[] BAK;
|
||||
public string FileName, FilePath;
|
||||
public ECT(byte[] data)
|
||||
{
|
||||
Data = (byte[])(data ?? new byte[SIZE_ECT]).Clone();
|
||||
BAK = (byte[])Data.Clone();
|
||||
Exportable = !Data.SequenceEqual(new byte[Data.Length]);
|
||||
|
||||
return;
|
||||
}
|
||||
public byte[] getData(int Offset, int Length)
|
||||
{
|
||||
return Data.Skip(Offset).Take(Length).ToArray();
|
||||
}
|
||||
public void setData(byte[] input, int Offset)
|
||||
{
|
||||
input.CopyTo(Data, Offset);
|
||||
Edited = true;
|
||||
}
|
||||
public static UInt32 ect_checksum(int length, byte[] Data)
|
||||
{
|
||||
UInt32 Chk = 0;
|
||||
int i;
|
||||
length = length>>2;
|
||||
Chk=0;
|
||||
for(i=0; i<length; i++){
|
||||
Chk = unchecked( Chk + (UInt32) BitConverter.ToUInt32(Data, i*4));
|
||||
}
|
||||
return Chk;
|
||||
}
|
||||
public void fix_ect_checksum()
|
||||
{
|
||||
UInt32 Chk = ect_checksum(SIZE_ECT-4, Data);
|
||||
//MessageBox.Show("Checksum: " + Chk.ToString("X"));
|
||||
setData(BitConverter.GetBytes(Chk).ToArray(), SIZE_ECT-4);
|
||||
}
|
||||
char[] SYMBOL = {
|
||||
' ', 'À', 'Á', 'Â', 'Ç', 'È', 'É', 'Ê', 'Ë', 'Ì', 'こ', 'Î', 'Ï', 'Ò', 'Ó', 'Ô',
|
||||
'Œ', 'Ù', 'Ú', 'Û', 'Ñ', 'ß', 'à', 'á', 'ね', 'ç', 'è', 'é', 'ê', 'ë', 'ì', 'ま',
|
||||
'î', 'ï', 'ò', 'ó', 'ô', 'œ', 'ù', 'ú', 'û', 'ñ', 'º', 'ª', ' ', '&', '+', 'あ',
|
||||
'ぃ', 'ぅ', 'ぇ', 'ぉ', ' ', '=', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ',
|
||||
' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ',
|
||||
' ', '¿', '¡', ' ', ' ', ' ', ' ', ' ', ' ', '<', 'Í', '%', '(', ')', ' ', ' ',
|
||||
' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', 'â', ' ', ' ', ' ', ' ', ' ', ' ', 'í',
|
||||
' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ',
|
||||
' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ',
|
||||
'ゾ', 'ダ', 'ヂ','ヅ', 'デ', 'ド', 'バ', 'ビ', 'ブ', 'ベ', 'ボ', 'パ', 'ピ', 'プ', 'ペ', 'ポ',
|
||||
'ッ', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '!', '?', '.', '-', '·',
|
||||
'…', '“', '”', '‘', '\'', '♂', '♀', '§', ',', '×', '/', 'A', 'B', 'C', 'D', 'E',
|
||||
'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U',
|
||||
'V', 'W', 'X', 'Y', 'Z', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k',
|
||||
'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', '>',
|
||||
':', 'Ä', 'Ö', 'Ü', 'ä', 'ö', 'ü', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', '#'
|
||||
};
|
||||
public string gba2text(byte[] input)
|
||||
{
|
||||
string texto;
|
||||
texto = "";
|
||||
foreach (byte value in input)
|
||||
{
|
||||
if (value == 0xFF)
|
||||
break;
|
||||
else{
|
||||
string newtext = texto + SYMBOL[value].ToString();
|
||||
texto = newtext;
|
||||
}
|
||||
}
|
||||
return texto;
|
||||
}
|
||||
public byte[] text2gba(string input, int len)
|
||||
{
|
||||
byte[] gbatext = new byte[len];
|
||||
byte i = 0;
|
||||
int count = 0;
|
||||
foreach (char value in input)
|
||||
{
|
||||
|
||||
for(i=0;i<0xFF;i++)
|
||||
{
|
||||
if (value == SYMBOL[i])
|
||||
{
|
||||
if (i==0)
|
||||
{
|
||||
gbatext[count] = 0;
|
||||
break;
|
||||
}
|
||||
else
|
||||
{
|
||||
gbatext[count] = i;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
//MessageBox.Show(gbatext[count].ToString("X"));
|
||||
count++;
|
||||
}
|
||||
if (count < len)
|
||||
gbatext[count] = 0xFF;
|
||||
return gbatext;
|
||||
}
|
||||
}
|
||||
}
|
||||
2128
wc3_tool/WC3/ECT_editor.Designer.cs
generated
Normal file
2128
wc3_tool/WC3/ECT_editor.Designer.cs
generated
Normal file
File diff suppressed because it is too large
Load Diff
857
wc3_tool/WC3/ECT_editor.cs
Normal file
857
wc3_tool/WC3/ECT_editor.cs
Normal file
|
|
@ -0,0 +1,857 @@
|
|||
/*
|
||||
* Created by SharpDevelop.
|
||||
* User: suloku
|
||||
* Date: 03/05/2016
|
||||
* Time: 20:54
|
||||
*
|
||||
* To change this template use Tools | Options | Coding | Edit Standard Headers.
|
||||
*/
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Data;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Windows.Forms;
|
||||
using System.IO;
|
||||
using System.Reflection;
|
||||
using System.Resources;
|
||||
|
||||
namespace WC3_TOOL
|
||||
{
|
||||
/// <summary>
|
||||
/// Description of ECT_editor.
|
||||
/// </summary>
|
||||
public partial class ECT_editor : Form
|
||||
{
|
||||
public ECT_editor()
|
||||
{
|
||||
//
|
||||
// The InitializeComponent() call is required for Windows Forms designer support.
|
||||
//
|
||||
InitializeComponent();
|
||||
|
||||
eng.Checked = true;
|
||||
|
||||
|
||||
update_easychat();
|
||||
|
||||
//Trainer list
|
||||
trainer_class.Items.AddRange(trainer_index_RS);
|
||||
radio_rs.Checked = true;
|
||||
|
||||
//
|
||||
// TODO: Add constructor code after the InitializeComponent() call.
|
||||
//
|
||||
}
|
||||
public string ectfilter = "e-card Trainer file|*.ect|All Files (*.*)|*.*";
|
||||
public byte[] ectbuffer;
|
||||
public static ECT ectfile;
|
||||
|
||||
int get_chatword(UInt16 word)
|
||||
{
|
||||
int i;
|
||||
for(i=0; i<easy_chat_IDs.Length;i++)
|
||||
{
|
||||
if (word == easy_chat_IDs[i])
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
return i;
|
||||
}
|
||||
void update_easychat()
|
||||
{
|
||||
object[] easychat = ECT_editor_text.easy_chat_eng;
|
||||
if (ita.Checked == true)
|
||||
{
|
||||
easychat = ECT_editor_text.easy_chat_ita;
|
||||
}else if (ger.Checked == true)
|
||||
{
|
||||
easychat = ECT_editor_text.easy_chat_ger;
|
||||
}else if (fre.Checked == true)
|
||||
{
|
||||
easychat = ECT_editor_text.easy_chat_fre;
|
||||
}else if (esp.Checked == true)
|
||||
{
|
||||
easychat = ECT_editor_text.easy_chat_esp;
|
||||
}else if (jap.Checked == true)
|
||||
{
|
||||
easychat = ECT_editor_text.easy_chat_jap;
|
||||
}
|
||||
|
||||
textA1.Items.Clear();
|
||||
textA2.Items.Clear();
|
||||
textA3.Items.Clear();
|
||||
textA4.Items.Clear();
|
||||
textA5.Items.Clear();
|
||||
textA6.Items.Clear();
|
||||
textB1.Items.Clear();
|
||||
textB2.Items.Clear();
|
||||
textB3.Items.Clear();
|
||||
textB4.Items.Clear();
|
||||
textB5.Items.Clear();
|
||||
textB6.Items.Clear();
|
||||
textC1.Items.Clear();
|
||||
textC2.Items.Clear();
|
||||
textC3.Items.Clear();
|
||||
textC4.Items.Clear();
|
||||
textC5.Items.Clear();
|
||||
textC6.Items.Clear();
|
||||
|
||||
textA1.Items.AddRange(easychat);
|
||||
textA2.Items.AddRange(easychat);
|
||||
textA3.Items.AddRange(easychat);
|
||||
textA4.Items.AddRange(easychat);
|
||||
textA5.Items.AddRange(easychat);
|
||||
textA6.Items.AddRange(easychat);
|
||||
textB1.Items.AddRange(easychat);
|
||||
textB2.Items.AddRange(easychat);
|
||||
textB3.Items.AddRange(easychat);
|
||||
textB4.Items.AddRange(easychat);
|
||||
textB5.Items.AddRange(easychat);
|
||||
textB6.Items.AddRange(easychat);
|
||||
textC1.Items.AddRange(easychat);
|
||||
textC2.Items.AddRange(easychat);
|
||||
textC3.Items.AddRange(easychat);
|
||||
textC4.Items.AddRange(easychat);
|
||||
textC5.Items.AddRange(easychat);
|
||||
textC6.Items.AddRange(easychat);
|
||||
|
||||
if (ectfile != null)
|
||||
{
|
||||
textA1.SelectedIndex = get_chatword(BitConverter.ToUInt16(ectfile.getData(0x10, 2), 0));
|
||||
textA2.SelectedIndex = get_chatword(BitConverter.ToUInt16(ectfile.getData(0x12, 2), 0));
|
||||
textA3.SelectedIndex = get_chatword(BitConverter.ToUInt16(ectfile.getData(0x14, 2), 0));
|
||||
textA4.SelectedIndex = get_chatword(BitConverter.ToUInt16(ectfile.getData(0x16, 2), 0));
|
||||
textA5.SelectedIndex = get_chatword(BitConverter.ToUInt16(ectfile.getData(0x18, 2), 0));
|
||||
textA6.SelectedIndex = get_chatword(BitConverter.ToUInt16(ectfile.getData(0x1A, 2), 0));
|
||||
|
||||
textB1.SelectedIndex = get_chatword(BitConverter.ToUInt16(ectfile.getData(0x1C, 2), 0));
|
||||
textB2.SelectedIndex = get_chatword(BitConverter.ToUInt16(ectfile.getData(0x1E, 2), 0));
|
||||
textB3.SelectedIndex = get_chatword(BitConverter.ToUInt16(ectfile.getData(0x20, 2), 0));
|
||||
textB4.SelectedIndex = get_chatword(BitConverter.ToUInt16(ectfile.getData(0x22, 2), 0));
|
||||
textB5.SelectedIndex = get_chatword(BitConverter.ToUInt16(ectfile.getData(0x24, 2), 0));
|
||||
textB6.SelectedIndex = get_chatword(BitConverter.ToUInt16(ectfile.getData(0x26, 2), 0));
|
||||
|
||||
textC1.SelectedIndex = get_chatword(BitConverter.ToUInt16(ectfile.getData(0x28, 2), 0));
|
||||
textC2.SelectedIndex = get_chatword(BitConverter.ToUInt16(ectfile.getData(0x2A, 2), 0));
|
||||
textC3.SelectedIndex = get_chatword(BitConverter.ToUInt16(ectfile.getData(0x2C, 2), 0));
|
||||
textC4.SelectedIndex = get_chatword(BitConverter.ToUInt16(ectfile.getData(0x2E, 2), 0));
|
||||
textC5.SelectedIndex = get_chatword(BitConverter.ToUInt16(ectfile.getData(0x30, 2), 0));
|
||||
textC6.SelectedIndex = get_chatword(BitConverter.ToUInt16(ectfile.getData(0x32, 2), 0));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
void update_ectData()
|
||||
{
|
||||
//tower_appearance.SelectedIndex = ectfile.Data[0];
|
||||
tower_appearance_num.Value = ectfile.Data[0];
|
||||
trainer_class_value.Value= ectfile.Data[0x1];
|
||||
tower_floor.Value = ectfile.Data[0x2];
|
||||
|
||||
name.Text = PKHeX.PKM.getG3Str(ectfile.getData(0x4, 8), jap_check.Checked);
|
||||
TID.Value = BitConverter.ToUInt16(ectfile.getData(0xC, 2), 0);
|
||||
SID.Value = BitConverter.ToUInt16(ectfile.getData(0xE, 2), 0);
|
||||
|
||||
textA1.SelectedIndex = get_chatword(BitConverter.ToUInt16(ectfile.getData(0x10, 2), 0));
|
||||
textA2.SelectedIndex = get_chatword(BitConverter.ToUInt16(ectfile.getData(0x12, 2), 0));
|
||||
textA3.SelectedIndex = get_chatword(BitConverter.ToUInt16(ectfile.getData(0x14, 2), 0));
|
||||
textA4.SelectedIndex = get_chatword(BitConverter.ToUInt16(ectfile.getData(0x16, 2), 0));
|
||||
textA5.SelectedIndex = get_chatword(BitConverter.ToUInt16(ectfile.getData(0x18, 2), 0));
|
||||
textA6.SelectedIndex = get_chatword(BitConverter.ToUInt16(ectfile.getData(0x1A, 2), 0));
|
||||
|
||||
textB1.SelectedIndex = get_chatword(BitConverter.ToUInt16(ectfile.getData(0x1C, 2), 0));
|
||||
textB2.SelectedIndex = get_chatword(BitConverter.ToUInt16(ectfile.getData(0x1E, 2), 0));
|
||||
textB3.SelectedIndex = get_chatword(BitConverter.ToUInt16(ectfile.getData(0x20, 2), 0));
|
||||
textB4.SelectedIndex = get_chatword(BitConverter.ToUInt16(ectfile.getData(0x22, 2), 0));
|
||||
textB5.SelectedIndex = get_chatword(BitConverter.ToUInt16(ectfile.getData(0x24, 2), 0));
|
||||
textB6.SelectedIndex = get_chatword(BitConverter.ToUInt16(ectfile.getData(0x26, 2), 0));
|
||||
|
||||
textC1.SelectedIndex = get_chatword(BitConverter.ToUInt16(ectfile.getData(0x28, 2), 0));
|
||||
textC2.SelectedIndex = get_chatword(BitConverter.ToUInt16(ectfile.getData(0x2A, 2), 0));
|
||||
textC3.SelectedIndex = get_chatword(BitConverter.ToUInt16(ectfile.getData(0x2C, 2), 0));
|
||||
textC4.SelectedIndex = get_chatword(BitConverter.ToUInt16(ectfile.getData(0x2E, 2), 0));
|
||||
textC5.SelectedIndex = get_chatword(BitConverter.ToUInt16(ectfile.getData(0x30, 2), 0));
|
||||
textC6.SelectedIndex = get_chatword(BitConverter.ToUInt16(ectfile.getData(0x32, 2), 0));
|
||||
|
||||
pkm1.SelectedIndex = BitConverter.ToUInt16(ectfile.getData(0x34, 2), 0);
|
||||
pkm2.SelectedIndex = BitConverter.ToUInt16(ectfile.getData(0x60, 2), 0);
|
||||
pkm3.SelectedIndex = BitConverter.ToUInt16(ectfile.getData(0x8C, 2), 0);
|
||||
|
||||
}
|
||||
|
||||
void set_ectData()
|
||||
{
|
||||
ectfile.Data[0] = (byte) tower_appearance_num.Value;
|
||||
ectfile.Data[0x1] = (byte) trainer_class_value.Value;
|
||||
ectfile.Data[0x2] = (byte) tower_floor.Value;
|
||||
|
||||
ECT_editor.ectfile.setData(PKHeX.PKM.setG3Str(name.Text, jap_check.Checked), (int)0x04);
|
||||
|
||||
ectfile.setData(BitConverter.GetBytes((UInt16)TID.Value).ToArray(), (int)0xC);
|
||||
ectfile.setData(BitConverter.GetBytes((UInt16)SID.Value).ToArray(), (int)0xC);
|
||||
|
||||
ectfile.setData(BitConverter.GetBytes(easy_chat_IDs[textA1.SelectedIndex]), 0x10);
|
||||
ectfile.setData(BitConverter.GetBytes(easy_chat_IDs[textA2.SelectedIndex]), 0x12);
|
||||
ectfile.setData(BitConverter.GetBytes(easy_chat_IDs[textA3.SelectedIndex]), 0x14);
|
||||
ectfile.setData(BitConverter.GetBytes(easy_chat_IDs[textA4.SelectedIndex]), 0x16);
|
||||
ectfile.setData(BitConverter.GetBytes(easy_chat_IDs[textA5.SelectedIndex]), 0x18);
|
||||
ectfile.setData(BitConverter.GetBytes(easy_chat_IDs[textA6.SelectedIndex]), 0x1A);
|
||||
|
||||
ectfile.setData(BitConverter.GetBytes(easy_chat_IDs[textB1.SelectedIndex]), 0x1C);
|
||||
ectfile.setData(BitConverter.GetBytes(easy_chat_IDs[textB2.SelectedIndex]), 0x1E);
|
||||
ectfile.setData(BitConverter.GetBytes(easy_chat_IDs[textB3.SelectedIndex]), 0x20);
|
||||
ectfile.setData(BitConverter.GetBytes(easy_chat_IDs[textB4.SelectedIndex]), 0x22);
|
||||
ectfile.setData(BitConverter.GetBytes(easy_chat_IDs[textB5.SelectedIndex]), 0x24);
|
||||
ectfile.setData(BitConverter.GetBytes(easy_chat_IDs[textB6.SelectedIndex]), 0x26);
|
||||
|
||||
ectfile.setData(BitConverter.GetBytes(easy_chat_IDs[textC1.SelectedIndex]), 0x28);
|
||||
ectfile.setData(BitConverter.GetBytes(easy_chat_IDs[textC2.SelectedIndex]), 0x2A);
|
||||
ectfile.setData(BitConverter.GetBytes(easy_chat_IDs[textC3.SelectedIndex]), 0x2C);
|
||||
ectfile.setData(BitConverter.GetBytes(easy_chat_IDs[textC4.SelectedIndex]), 0x2E);
|
||||
ectfile.setData(BitConverter.GetBytes(easy_chat_IDs[textC5.SelectedIndex]), 0x30);
|
||||
ectfile.setData(BitConverter.GetBytes(easy_chat_IDs[textC6.SelectedIndex]), 0x32);
|
||||
|
||||
ectfile.setData(BitConverter.GetBytes((UInt16)pkm1.SelectedIndex).ToArray(), 0x34);
|
||||
ectfile.setData(BitConverter.GetBytes((UInt16)pkm2.SelectedIndex).ToArray(), 0x60);
|
||||
ectfile.setData(BitConverter.GetBytes((UInt16)pkm3.SelectedIndex).ToArray(), 0x8C);
|
||||
}
|
||||
|
||||
void Load_ECT(string path)
|
||||
{
|
||||
int filesize = FileIO.load_file(ref ectbuffer, ref path, ectfilter);
|
||||
if( filesize == ECT.SIZE_ECT )
|
||||
{
|
||||
ect_path.Text = path;
|
||||
ectfile = new ECT(ectbuffer);
|
||||
|
||||
update_ectData();
|
||||
|
||||
save_ect_but.Enabled = true;
|
||||
pkm1_edit_but.Enabled = true;
|
||||
pkm2_edit_but.Enabled = true;
|
||||
pkm3_edit_but.Enabled = true;
|
||||
jap_check.Enabled = true;
|
||||
|
||||
}else{
|
||||
MessageBox.Show("Invalid file size.");
|
||||
}
|
||||
}
|
||||
void Load_ect_butClick(object sender, EventArgs e)
|
||||
{
|
||||
Load_ECT(null);
|
||||
}
|
||||
void Save_ect_butClick(object sender, EventArgs e)
|
||||
{
|
||||
set_ectData();
|
||||
ectfile.fix_ect_checksum();
|
||||
if (ectfile.Edited)
|
||||
FileIO.save_data(ectfile.Data, ectfilter);
|
||||
else MessageBox.Show("Save has not been edited");
|
||||
}
|
||||
void Helpclass_butClick(object sender, EventArgs e)
|
||||
{
|
||||
MessageBox.Show("The classes AQUA ADMIN, MAGMA ADMIN, and WINSTRATE are apparently unavailable, as are the other five Leaders and two Elite Four members. Indices greater than those in the list (0x4C, 0x4F and 0x92) result in mismatches between the trainer class and sprite.\n\nThis value also determines the overworld sprite shown in the Mossdeep house. Some classes and any value greater than the ones listed, will be shown in the overworld as a generic male NPC.\n\nThere are two identical entries for the unused BOARDER class in this list, implying that male and female versions were planned, and three identical entries each for Brendan and May, which might indicate that they were intended to have multiple sprites like the rivals in prior games.");
|
||||
}
|
||||
|
||||
void Pkm1_edit_butClick(object sender, EventArgs e)
|
||||
{
|
||||
Form pkedit = new ECT_pkedit(0);
|
||||
pkedit.ShowDialog();
|
||||
}
|
||||
void Pkm2_edit_butClick(object sender, EventArgs e)
|
||||
{
|
||||
Form pkedit = new ECT_pkedit(1);
|
||||
pkedit.ShowDialog();
|
||||
}
|
||||
void Pkm3_edit_butClick(object sender, EventArgs e)
|
||||
{
|
||||
Form pkedit = new ECT_pkedit(2);
|
||||
pkedit.ShowDialog();
|
||||
}
|
||||
void Jap_checkCheckedChanged(object sender, EventArgs e)
|
||||
{
|
||||
name.Text = PKHeX.PKM.getG3Str(ectfile.getData(0x4, 8), jap_check.Checked);
|
||||
if (jap_check.Checked == true)
|
||||
MessageBox.Show("Remember Japanese names have a maximum of 5 characters.");
|
||||
}
|
||||
object[] trainer_index_RS_other = {
|
||||
"$00: *AQUA LEADER",
|
||||
"$01: *TEAM AQUA (♂)",
|
||||
"$02: *TEAM AQUA (♀)",
|
||||
"$03: AROMA LADY",
|
||||
"$04: RUIN MANIAC",
|
||||
"$05: *INTERVIEWER",
|
||||
"$06: TUBER (♀)",
|
||||
"$07: TUBER (♂)",
|
||||
"$08: COOLTRAINER♂",
|
||||
"$09: COOLTRAINER♀",
|
||||
"$0A: HEX MANIAC",
|
||||
"$0B: LADY",
|
||||
"$0C: BEAUTY",
|
||||
"$0D: RICH BOY",
|
||||
"$0E: POKéMANIAC",
|
||||
"$0F: SWIMMER♂",
|
||||
"$10: BLACK BELT",
|
||||
"$11: GUITARIST",
|
||||
"$12: KINDLER",
|
||||
"$13: CAMPER",
|
||||
"$14: BUG MANIAC",
|
||||
"$15: PSYCHIC (♂)",
|
||||
"$16: PSYCHIC (♀)",
|
||||
"$17: GENTLEMAN",
|
||||
"$18: *ELITE FOUR (Sidney)",
|
||||
"$19: *ELITE FOUR (Phoebe)",
|
||||
"$1A: *LEADER (Roxanne)",
|
||||
"$1B: *LEADER (Brawly)",
|
||||
"$1C: *LEADER (Tate&Liza)",
|
||||
"$1D: SCHOOL KID (♂)",
|
||||
"$1E: SCHOOL KID (♀)",
|
||||
"$1F: *SR. AND JR.",
|
||||
"$20: POKéFAN (♂)",
|
||||
"$21: POKéFAN (♀)",
|
||||
"$22: EXPERT (♂)",
|
||||
"$23: EXPERT (♀)",
|
||||
"$24: YOUNGSTER",
|
||||
"$25: *CHAMPION",
|
||||
"$26: FISHERMAN",
|
||||
"$27: TRIATHLETE (♂ cycling)",
|
||||
"$28: TRIATHLETE (♀ cycling)",
|
||||
"$29: TRIATHLETE (♂ running)",
|
||||
"$2A: TRIATHLETE (♀ running)",
|
||||
"$2B: TRIATHLETE (♂ swimming)",
|
||||
"$2C: TRIATHLETE (♀ swimming)",
|
||||
"$2D: DRAGON TAMER",
|
||||
"$2E: BIRD KEEPER",
|
||||
"$2F: NINJA BOY",
|
||||
"$30: BATTLE GIRL",
|
||||
"$31: PARASOL LADY",
|
||||
"$32: SWIMMER♀",
|
||||
"$33: PICNICKER",
|
||||
"$34: *TWINS",
|
||||
"$35: SAILOR",
|
||||
"$36: *BOARDER (Youngster)",
|
||||
"$37: *BOARDER (Youngster)",
|
||||
"$38: COLLECTOR",
|
||||
"$39: *PKMN TRAINER (Wally)",
|
||||
"$3A: *PKMN TRAINER (Brendan)",
|
||||
"$3B: *PKMN TRAINER (Brendan)",
|
||||
"$3C: *PKMN TRAINER (Brendan)",
|
||||
"$3D: *PKMN TRAINER (May)",
|
||||
"$3E: *PKMN TRAINER (May)",
|
||||
"$3F: *PKMN TRAINER (May)",
|
||||
"$40: PKMN BREEDER (♂)",
|
||||
"$41: PKMN BREEDER (♀)",
|
||||
"$42: PKMN RANGER (♂)",
|
||||
"$43: PKMN RANGER (♀)",
|
||||
"$44: *MAGMA LEADER",
|
||||
"$45: *TEAM MAGMA (♂)",
|
||||
"$46: *TEAM MAGMA (♀)",
|
||||
"$47: LASS",
|
||||
"$48: BUG CATCHER",
|
||||
"$49: HIKER",
|
||||
"$4A: *YOUNG COUPLE",
|
||||
"$4B: *OLD COUPLE",
|
||||
"$4C: *SIS AND BRO"};
|
||||
|
||||
object[] trainer_index_RS = {
|
||||
"0x00: Aqua Leader (Archie)",
|
||||
"0x01: Team Aqua Grunt (Male)",
|
||||
"0x02: Team Aqua Grunt (Female)",
|
||||
"0x03: Aroma Lady",
|
||||
"0x04: Ruin Maniac",
|
||||
"0x05: Interviewer",
|
||||
"0x06: Tuber (Female)",
|
||||
"0x07: Tuber (Male)",
|
||||
"0x08: Cool Trainer (Male)",
|
||||
"0x09: Cool Trainer (Female)",
|
||||
"0x0A: Hex Maniac",
|
||||
"0x0B: Lady",
|
||||
"0x0C: Beauty",
|
||||
"0x0D: Rich Boy",
|
||||
"0x0E: Pokemaniac",
|
||||
"0x0F: Swimmer (Male)",
|
||||
"0x10: Blackbelt",
|
||||
"0x11: Guitarist",
|
||||
"0x12: Kindler",
|
||||
"0x13: Camper",
|
||||
"0x14: Bug Maniac",
|
||||
"0x15: Psychic (Male)",
|
||||
"0x16: Psychic (Female)",
|
||||
"0x17: Gentleman",
|
||||
"0x18: Elite Four (Sidney)",
|
||||
"0x19: Elite Four (Phoebe)",
|
||||
"0x1A: Leader (Roxanne)",
|
||||
"0x1B: Leader (Brawly)",
|
||||
"0x1C: Leader (Tate & Liza)",
|
||||
"0x1D: School Kid (Male)",
|
||||
"0x1E: School Kid (Female)",
|
||||
"0x1F: Sr. and Jr.",
|
||||
"0x20: Pokefan (Male)",
|
||||
"0x21: Pokefan (Female)",
|
||||
"0x22: Expert (Male)",
|
||||
"0x23: Expert (Female)",
|
||||
"0x24: Youngster",
|
||||
"0x25: Champion (Steven)",
|
||||
"0x26: Fisherman",
|
||||
"0x27: Triathlete Biker (Male)",
|
||||
"0x28: Triathlete Biker (Female)",
|
||||
"0x29: Triathlete Runner (Male)",
|
||||
"0x2A: Triathlete Runner (Female)",
|
||||
"0x2B: Triathlete Swimmer (Male)",
|
||||
"0x2C: Triathlete Swimmer (Female)",
|
||||
"0x2D: Dragon Tamer",
|
||||
"0x2E: Bird Keeper",
|
||||
"0x2F: Ninja Boy",
|
||||
"0x30: Battle Girl",
|
||||
"0x31: Parasol Lady",
|
||||
"0x32: Swimmer (Female)",
|
||||
"0x33: Picnicker",
|
||||
"0x34: Twins",
|
||||
"0x35: Sailor",
|
||||
"0x36: Boarder",
|
||||
"0x37: Boarder",
|
||||
"0x38: Collector",
|
||||
"0x39: PKMN Trainer (Wally)",
|
||||
"0x3A: PKMN Trainer (Brendan)",
|
||||
"0x3B: PKMN Trainer (Brendan)",
|
||||
"0x3C: PKMN Trainer (Brendan)",
|
||||
"0x3D: PKMN Trainer (May)",
|
||||
"0x3E: PKMN Trainer (May)",
|
||||
"0x3F: PKMN Trainer (May)",
|
||||
"0x40: PKMN Breeder (Male)",
|
||||
"0x41: PKMN Breeder (Female)",
|
||||
"0x42: PKMN Ranger (Male)",
|
||||
"0x43: PKMN Ranger (Female)",
|
||||
"0x44: Magma Leader (Maxie)",
|
||||
"0x45: Team Magma Grunt (Male)",
|
||||
"0x46: Team Magma Grunt (Female)",
|
||||
"0x47: Lass",
|
||||
"0x48: Bug Catcher",
|
||||
"0x49: Hiker",
|
||||
"0x4A: Young Couple",
|
||||
"0x4B: Old Couple",
|
||||
"0x4C: Sis and Bro",
|
||||
"<- SET BY INDEX"};
|
||||
|
||||
object[] trainer_index_E = {
|
||||
"0x00: Hiker",
|
||||
"0x01: Team Aqua Grunt (Male)",
|
||||
"0x02: PKMN Breeder (Female)",
|
||||
"0x03: Cooltrainer (Male)",
|
||||
"0x04: Bird Keeper",
|
||||
"0x05: Collector",
|
||||
"0x06: Team Aqua Grunt (Female)",
|
||||
"0x07: Swimmer (Male)",
|
||||
"0x08: Team Magma Grunt (Male)",
|
||||
"0x09: Expert (Male)",
|
||||
"0x0A: Black Belt",
|
||||
"0x0B: Aqua Leader (Archie)",
|
||||
"0x0C: Hex Maniac",
|
||||
"0x0D: Aroma Lady",
|
||||
"0x0E: Ruin Maniac",
|
||||
"0x0F: Interviewer",
|
||||
"0x10: Tuber (Female)",
|
||||
"0x11: Tuber (Male)",
|
||||
"0x12: Cooltrainer (Female)",
|
||||
"0x13: Lady",
|
||||
"0x14: Beauty",
|
||||
"0x15: Rich Boy",
|
||||
"0x16: Expert (Female)",
|
||||
"0x17: Pokemaniac",
|
||||
"0x18: Team Magma Grunt (Female)",
|
||||
"0x19: Guitarist",
|
||||
"0x1A: Kindler",
|
||||
"0x1B: Camper",
|
||||
"0x1C: Picnicker",
|
||||
"0x1D: Bug Maniac",
|
||||
"0x1E: Psychic (Male)",
|
||||
"0x1F: Psychic (Female)",
|
||||
"0x20: Gentleman",
|
||||
"0x21: Elite Four (Sidney)",
|
||||
"0x22: Elite Four (Phoebe)",
|
||||
"0x23: Leader (Roxanne)",
|
||||
"0x24: Leader (Brawly)",
|
||||
"0x25: Leader (Tate & Liza)",
|
||||
"0x26: School Kid (Male)",
|
||||
"0x27: School Kid (Female)",
|
||||
"0x28: Sr. and Jr.",
|
||||
"0x29: Pokefan (Male)",
|
||||
"0x2A: Pokefan (Female)",
|
||||
"0x2B: Youngster",
|
||||
"0x2C: Champion (Wallace)",
|
||||
"0x2D: Fisherman",
|
||||
"0x2E: Triathlete Biker (Male)",
|
||||
"0x2F: Triathlete Biker (Female)",
|
||||
"0x30: Triathlete Runner (Male)",
|
||||
"0x31: Triathlete Runner (Female)",
|
||||
"0x32: Triathlete Swimmer (Male)",
|
||||
"0x33: Triathlete Swimmer (Female)",
|
||||
"0x34: Dragon Tamer",
|
||||
"0x35: Ninja Boy",
|
||||
"0x36: Battle Girl",
|
||||
"0x37: Parasol Lady",
|
||||
"0x38: Swimmer (Female)",
|
||||
"0x39: Twins",
|
||||
"0x3A: Sailor",
|
||||
"0x3B: PKMN Trainer (Wally)",
|
||||
"0x3C: PKMN Trainer (Brendan)",
|
||||
"0x3D: PKMN Trainer (Brendan)",
|
||||
"0x3E: PKMN Trainer (Brendan)",
|
||||
"0x3F: PKMN Trainer (May)",
|
||||
"0x40: PKMN Trainer (May)",
|
||||
"0x41: PKMN Trainer (May)",
|
||||
"0x42: PKMN Breeder (Male)",
|
||||
"0x43: Bug Catcher",
|
||||
"0x44: PKMN Ranger (Male)",
|
||||
"0x45: PKMN Ranger (Female)",
|
||||
"0x46: Magma Leader (Maxie)",
|
||||
"0x47: Lass",
|
||||
"0x48: Young Couple",
|
||||
"0x49: Old Couple",
|
||||
"0x4A: Sis and Bro",
|
||||
"0x4B: PKMN Trainer (Steven)",
|
||||
"0x4C: Salon Maiden (Anabel)",
|
||||
"0x4D: Dome Ace (Tucker)",
|
||||
"0x4E: PKMN Trainer (Red)",
|
||||
"0x4F: PKMN Trainer (Green)",
|
||||
"<- SET BY INDEX"};
|
||||
|
||||
object[] trainer_index_FRLG = {
|
||||
"0x00: Aqua Leader (Archie)",
|
||||
"0x01: Team Aqua Grunt (Male)",
|
||||
"0x02: Team Aqua Grunt (Female)",
|
||||
"0x03: Aroma Lady",
|
||||
"0x04: Ruin Maniac",
|
||||
"0x05: Interviewer",
|
||||
"0x06: Tuber (Female)",
|
||||
"0x07: Tuber (Male)",
|
||||
"0x08: Cool Trainer (Male)",
|
||||
"0x09: Cool Trainer (Female)",
|
||||
"0x0A: Hex Maniac",
|
||||
"0x0B: Lady",
|
||||
"0x0C: Beauty",
|
||||
"0x0D: Rich Boy",
|
||||
"0x0E: Pokemaniac",
|
||||
"0x0F: Swimmer (Male)",
|
||||
"0x10: Blackbelt",
|
||||
"0x11: Guitarist",
|
||||
"0x12: Kindler",
|
||||
"0x13: Camper",
|
||||
"0x14: Bug Maniac",
|
||||
"0x15: Psychic (Male)",
|
||||
"0x16: Psychic (Female)",
|
||||
"0x17: Gentleman",
|
||||
"0x18: Elite Four (Sidney)",
|
||||
"0x19: Elite Four (Phoebe)",
|
||||
"0x1A: Leader (Roxanne)",
|
||||
"0x1B: Leader (Brawly)",
|
||||
"0x1C: Leader (Tate & Liza)",
|
||||
"0x1D: School Kid (Male)",
|
||||
"0x1E: School Kid (Female)",
|
||||
"0x1F: Sr. and Jr.",
|
||||
"0x20: Pokefan (Male)",
|
||||
"0x21: Pokefan (Female)",
|
||||
"0x22: Expert (Male)",
|
||||
"0x23: Expert (Female)",
|
||||
"0x24: Youngster",
|
||||
"0x25: Champion (Steven)",
|
||||
"0x26: Fisherman",
|
||||
"0x27: Triathlete Biker (Male)",
|
||||
"0x28: Triathlete Biker (Female)",
|
||||
"0x29: Triathlete Runner (Male)",
|
||||
"0x2A: Triathlete Runner (Female)",
|
||||
"0x2B: Triathlete Swimmer (Male)",
|
||||
"0x2C: Triathlete Swimmer (Female)",
|
||||
"0x2D: Dragon Tamer",
|
||||
"0x2E: Bird Keeper",
|
||||
"0x2F: Ninja Boy",
|
||||
"0x30: Battle Girl",
|
||||
"0x31: Parasol Lady",
|
||||
"0x32: Swimmer (Female)",
|
||||
"0x33: Picnicker",
|
||||
"0x34: Twins",
|
||||
"0x35: Sailor",
|
||||
"0x36: Boarder",
|
||||
"0x37: Boarder",
|
||||
"0x38: Collector",
|
||||
"0x39: PKMN Trainer (Wally)",
|
||||
"0x3A: PKMN Trainer (Brendan)",
|
||||
"0x3B: PKMN Trainer (Brendan)",
|
||||
"0x3C: PKMN Trainer (Brendan)",
|
||||
"0x3D: PKMN Trainer (May)",
|
||||
"0x3E: PKMN Trainer (May)",
|
||||
"0x3F: PKMN Trainer (May)",
|
||||
"0x40: PKMN Breeder (Male)",
|
||||
"0x41: PKMN Breeder (Female)",
|
||||
"0x42: PKMN Ranger (Male)",
|
||||
"0x43: PKMN Ranger (Female)",
|
||||
"0x44: Magma Leader (Maxie)",
|
||||
"0x45: Team Magma Grunt (Male)",
|
||||
"0x46: Team Magma Grunt (Female)",
|
||||
"0x47: Lass",
|
||||
"0x48: Bug Catcher",
|
||||
"0x49: Hiker",
|
||||
"0x4A: Young Couple",
|
||||
"0x4B: Old Couple",
|
||||
"0x4C: Sis and Bro",
|
||||
"0x4D: Aqua Admin (Matt)",
|
||||
"0x4E: Aqua Admin (Shelly)",
|
||||
"0x4F: Magma Admin (Tabitha)",
|
||||
"0x50: Magma Admin (Courtney)",
|
||||
"0x51: Leader (Wattson)",
|
||||
"0x52: Leader (Flannery)",
|
||||
"0x53: Leader (Norman)",
|
||||
"0x54: Leader (Winona)",
|
||||
"0x55: Leader (Wallace)",
|
||||
"0x56: Elite Four (Glacia)",
|
||||
"0x57: Elite Four (Drake)",
|
||||
"0x58: Youngster (FRLG)",
|
||||
"0x59: Bug Catcher (FRLG)",
|
||||
"0x5A: Lass (FRLG)",
|
||||
"0x5B: Sailor (FRLG)",
|
||||
"0x5C: Camper (FRLG)",
|
||||
"0c5D: Picnicker (FRLG)",
|
||||
"0x5E: Pokemaniac (FRLG)",
|
||||
"0x5F: Super Nerd",
|
||||
"0x60: Hiker (FRLG)",
|
||||
"0x61: Biker (FRLG)",
|
||||
"0x62: Burglar",
|
||||
"0x63: Engineer",
|
||||
"0x64: Fisherman",
|
||||
"0x65: Swimmer (Male) (FRLG)",
|
||||
"0x66: Cue Ball",
|
||||
"0x67: Gamer",
|
||||
"0x68: Beauty (FRLG)",
|
||||
"0x69: Swimmer (Female) (FRLG)",
|
||||
"0x6A: Psychic (Male)",
|
||||
"0x6B: Rocker",
|
||||
"0x6C: Juggler",
|
||||
"0x6D: Tamer",
|
||||
"0x6E: Bird Keeper (FRLG)",
|
||||
"0x6F: Blackbelt (FRLG)",
|
||||
"0x70: Rival (Gary)",
|
||||
"0x71: Scientist",
|
||||
"0x72: Boss (Giovanni)",
|
||||
"0x73: Team Rocket Grunt (Male)",
|
||||
"0x74: Cooltrainer (Male)",
|
||||
"0x75: Cooltrainer (Female)",
|
||||
"0x76: Elite Four (Lorelei)",
|
||||
"0x77: Elite Four (Bruno)",
|
||||
"0x78: Leader (Brock)",
|
||||
"0x79: Leader (Misty)",
|
||||
"0x7A: Gentleman (FRLG)",
|
||||
"0x7B: Rival (Gary)",
|
||||
"0x7C: Champion (Gary)",
|
||||
"0x7D: Channeler",
|
||||
"0x7E: Twins (FRLG)",
|
||||
"0x7F: Cool Couple",
|
||||
"0x80: Young Couple (FRLG)",
|
||||
"0x81: Crush Kin",
|
||||
"0x82: Sis and Bro (FRLG)",
|
||||
"0x83: PKMN Prof. (Oak)",
|
||||
"0x84: Player (Brendan)",
|
||||
"0x85: Player (May)",
|
||||
"0x86: Player (Red)",
|
||||
"0x87: Player (Green)",
|
||||
"0x88: Team Rocket Grunt (Female)",
|
||||
"0x89: Psychic (Female) (FRLG)",
|
||||
"0x8A: Crush Girl",
|
||||
"0x8B: Tuber (Female) (FRLG)",
|
||||
"0x8C: PKMN Breeder (Female) (FRLG)",
|
||||
"0x8D: PKMN Ranger (Male) (FRLG)",
|
||||
"0x8E: PKMN Ranger (Female) (FRLG)",
|
||||
"0x8F: Aroma Lady (FRLG)",
|
||||
"0x90: Ruin Maniac (FRLG)",
|
||||
"0x91: Lady (FRLG)",
|
||||
"0x92: Painter (Female)",
|
||||
"<- SET BY INDEX"};
|
||||
|
||||
void update_trainer_list()
|
||||
{
|
||||
trainer_class.Items.Clear();
|
||||
if (radio_e.Checked == true)
|
||||
trainer_class.Items.AddRange(trainer_index_E);
|
||||
else if(radio_FRLG.Checked == true)
|
||||
trainer_class.Items.AddRange(trainer_index_FRLG);
|
||||
else
|
||||
trainer_class.Items.AddRange(trainer_index_RS);
|
||||
}
|
||||
void Radio_rsCheckedChanged(object sender, EventArgs e)
|
||||
{
|
||||
update_trainer_list();
|
||||
}
|
||||
void Radio_eCheckedChanged(object sender, EventArgs e)
|
||||
{
|
||||
update_trainer_list();
|
||||
}
|
||||
void Radio_FRLGCheckedChanged(object sender, EventArgs e)
|
||||
{
|
||||
update_trainer_list();
|
||||
}
|
||||
void NoteClick(object sender, EventArgs e)
|
||||
{
|
||||
MessageBox.Show("Easy chat system implementation currently has limitations, pokemon and move groups need more research for their values and won't properly work. All other word groups work fine. There might also be problems between different languages, even though english words are supposed to be translated from japanese.");
|
||||
}
|
||||
void Trainer_class_valueValueChanged(object sender, EventArgs e)
|
||||
{
|
||||
if(trainer_class_value.Value <= 0x4C && radio_rs.Checked == true)
|
||||
trainer_class.SelectedIndex = (int)trainer_class_value.Value;
|
||||
else if(trainer_class_value.Value <= 0x4F && radio_e.Checked == true)
|
||||
trainer_class.SelectedIndex = (int)trainer_class_value.Value;
|
||||
else if(trainer_class_value.Value <= 0x92 && radio_FRLG.Checked == true)
|
||||
trainer_class.SelectedIndex = (int)trainer_class_value.Value;
|
||||
|
||||
if(trainer_class_value.Value > 0x4C && radio_rs.Checked == true)
|
||||
trainer_class.SelectedIndex = 0x4D;
|
||||
else if(trainer_class_value.Value > 0x4F && radio_e.Checked == true)
|
||||
trainer_class.SelectedIndex = 0x50;
|
||||
else if(trainer_class_value.Value > 0x92 && radio_FRLG.Checked == true)
|
||||
trainer_class.SelectedIndex = 0x93;
|
||||
|
||||
|
||||
}
|
||||
void Trainer_classSelectedIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
trainer_class_value.Value = trainer_class.SelectedIndex;
|
||||
}
|
||||
UInt16[] easy_chat_IDs = new UInt16[]
|
||||
{
|
||||
0x0, 0x0115, 0x0116, 0x0117, 0x0118, 0x0119, 0x011A, 0x011B, 0x011C, 0x011D, 0x011E, 0x011F, 0x0120, 0x0121, 0x0122, 0x0123,
|
||||
0x0124, 0x0125, 0x0126, 0x0127, 0x0128, 0x0129, 0x012A, 0x012B, 0x012C, 0x012D, 0x012E, 0x012F, 0x0130, 0x0131, 0x0132, 0x0133,
|
||||
0x0134, 0x0135, 0x0136, 0x0137, 0x0138, 0x0139, 0x013A, 0x013B, 0x013C, 0x013D, 0x013E, 0x013F, 0x0140, 0x0141, 0x0142, 0x0143,
|
||||
0x0144, 0x0145, 0x0146, 0x0147, 0x0148, 0x0149, 0x014A, 0x014B, 0x014C, 0x014D, 0x014E, 0x014F, 0x0150, 0x0151, 0x0152, 0x0153,
|
||||
0x0154, 0x0155, 0x0156, 0x0157, 0x0158, 0x0159, 0x015A, 0x015B, 0x015C, 0x015D, 0x015E, 0x015F, 0x0160, 0x0161, 0x0162, 0x0163,
|
||||
0x0164, 0x0165, 0x0166, 0x0167, 0x0168, 0x0169, 0x016A, 0x016B, 0x016C, 0x016D, 0x016E, 0x016F, 0x0170, 0x0171, 0x0172, 0x0173,
|
||||
0x0174, 0x0175, 0x0176, 0x0177, 0x0178, 0x0179, 0x017A, 0x017B, 0x017C, 0x017D, 0x017E, 0x017F, 0x0180, 0x0181, 0x0182, 0x0183,
|
||||
0x0184, 0x0185, 0x0186, 0x0187, 0x0188, 0x0189, 0x018A, 0x018B, 0x018C, 0x018D, 0x018E, 0x018F, 0x0190, 0x0191, 0x0192, 0x0193,
|
||||
0x0194, 0x0195, 0x0196, 0x0197, 0x0198, 0x0199, 0x019A, 0x019B, 0x1, 0x0200, 0x0201, 0x0202, 0x0203, 0x0204, 0x0205, 0x0206, 0x0207,
|
||||
0x0208, 0x0209, 0x020A, 0x020B, 0x020C, 0x020D, 0x020E, 0x020F, 0x0210, 0x0211, 0x0212, 0x0213, 0x0214, 0x0215, 0x0216, 0x0217, 0x0218,
|
||||
0x0219, 0x021A, 0x2, 0x0400, 0x0401, 0x0402, 0x0403, 0x0404, 0x0405, 0x0406, 0x0407, 0x0408, 0x0409, 0x040A, 0x040B, 0x040C, 0x040D,
|
||||
0x040E, 0x040F, 0x0410, 0x0411, 0x0412, 0x0413, 0x0414, 0x0415, 0x0416, 0x0417, 0x0418, 0x0419, 0x041A, 0x041B, 0x041C, 0x041D, 0x041E,
|
||||
0x041F, 0x0420, 0x0421, 0x0422, 0x0423, 0x0424, 0x0425, 0x0426, 0x0427, 0x0428, 0x0429, 0x042A, 0x042B, 0x042C, 0x042D, 0x042E, 0x042F,
|
||||
0x0430, 0x0431, 0x0432, 0x0433, 0x0434, 0x0435, 0x0436, 0x0437, 0x0438, 0x0439, 0x043A, 0x043B, 0x043C, 0x043D, 0x043E, 0x043F, 0x0440,
|
||||
0x0441, 0x0442, 0x0443, 0x0444, 0x0445, 0x0446, 0x0447, 0x0448, 0x0449, 0x044A, 0x044B, 0x044C, 0x044D, 0x044E, 0x044F, 0x0450, 0x0451,
|
||||
0x0452, 0x0453, 0x0454, 0x0455, 0x0456, 0x0457, 0x0458, 0x0459, 0x045A, 0x045B, 0x045C, 0x045D, 0x045E, 0x045F, 0x0460, 0x0461, 0x0462,
|
||||
0x0463, 0x0464, 0x0465, 0x0466, 0x0467, 0x0468, 0x0469, 0x046A, 0x046B, 0x046C, 0x3, 0x0600, 0x0601, 0x0602, 0x0603, 0x0604, 0x0605,
|
||||
0x0606, 0x0607, 0x0608, 0x0609, 0x060A, 0x060B, 0x060C, 0x060D, 0x060E, 0x060F, 0x0610, 0x0611, 0x0612, 0x0613, 0x0614, 0x0615, 0x0616,
|
||||
0x0617, 0x0618, 0x0619, 0x061A, 0x061B, 0x061C, 0x061D, 0x061E, 0x061F, 0x0620, 0x0621, 0x0622, 0x0623, 0x0624, 0x0625, 0x0626, 0x0627,
|
||||
0x0628, 0x0629, 0x062A, 0x062B, 0x062C, 0x062D, 0x062E, 0x062F, 0x0630, 0x0631, 0x0632, 0x0633, 0x0634, 0x0635, 0x0636, 0x0637, 0x0638,
|
||||
0x0639, 0x063A, 0x063B, 0x063C, 0x063D, 0x063E, 0x4, 0x0800, 0x0801, 0x0802, 0x0803, 0x0804, 0x0805, 0x0806, 0x0807, 0x0808, 0x0809, 0x080A,
|
||||
0x080B, 0x080C, 0x080D, 0x080E, 0x080F, 0x0810, 0x0811, 0x0812, 0x0813, 0x0814, 0x0815, 0x0816, 0x0817, 0x0818, 0x0819, 0x081A, 0x081B,
|
||||
0x081C, 0x081D, 0x081E, 0x081F, 0x0820, 0x0821, 0x0822, 0x0823, 0x0824, 0x0825, 0x0826, 0x0827, 0x0828, 0x0829, 0x5, 0x0A00, 0x0A01, 0x0A02,
|
||||
0x0A03, 0x0A04, 0x0A05, 0x0A06, 0x0A07, 0x0A08, 0x0A09, 0x0A0A, 0x0A0B, 0x0A0C, 0x0A0D, 0x0A0E, 0x0A0F, 0x0A10, 0x0A11, 0x0A12, 0x0A13,
|
||||
0x0A14, 0x0A15, 0x0A16, 0x0A17, 0x0A18, 0x0A19, 0x0A1A, 0x0A1B, 0x0A1C, 0x0A1D, 0x0A1E, 0x0A1F, 0x0A20, 0x0A21, 0x0A22, 0x0A23, 0x0A24,
|
||||
0x0A25, 0x0A26, 0x0A27, 0x0A28, 0x0A29, 0x0A2A, 0x0A2B, 0x0A2C, 0x0A2D, 0x0A2E, 0x0A2F, 0x0A30, 0x0A31, 0x0A32, 0x0A33, 0x0A34, 0x0A35,
|
||||
0x0A36, 0x0A37, 0x0A38, 0x0A39, 0x0A3A, 0x0A3B, 0x0A3C, 0x0A3D, 0x0A3E, 0x0A3F, 0x0A40, 0x0A41, 0x0A42, 0x0A43, 0x0A44, 0x0A45, 0x0A46,
|
||||
0x0A47, 0x0A48, 0x0A49, 0x0A4A, 0x6, 0x0C00, 0x0C01, 0x0C02, 0x0C03, 0x0C04, 0x0C05, 0x0C06, 0x0C07, 0x0C08, 0x0C09, 0x0C0A, 0x0C0B, 0x0C0C,
|
||||
0x0C0D, 0x0C0E, 0x0C0F, 0x0C10, 0x0C11, 0x0C12, 0x0C13, 0x0C14, 0x0C15, 0x0C16, 0x0C17, 0x0C18, 0x0C19, 0x0C1A, 0x0C1B, 0x0C1C, 0x0C1D, 0x0C1E,
|
||||
0x0C1F, 0x0C20, 0x0C21, 0x0C22, 0x0C23, 0x0C24, 0x0C25, 0x0C26, 0x0C27, 0x0C28, 0x0C29, 0x0C2A, 0x0C2B, 0x0C2C, 0x0C2D, 0x0C2E, 0x0C2F, 0x0C30,
|
||||
0x0C31, 0x0C32, 0x0C33, 0x0C34, 0x0C35, 0x0C36, 0x0C37, 0x0C38, 0x0C39, 0x0C3A, 0x0C3B, 0x0C3C, 0x0C3D, 0x0C3E, 0x7, 0x0E00, 0x0E01, 0x0E02,
|
||||
0x0E03, 0x0E04, 0x0E05, 0x0E06, 0x0E07, 0x0E08, 0x0E09, 0x0E0A, 0x0E0B, 0x0E0C, 0x0E0D, 0x0E0E, 0x0E0F, 0x0E10, 0x0E11, 0x0E12, 0x0E13, 0x0E14,
|
||||
0x0E15, 0x0E16, 0x0E17, 0x0E18, 0x0E19, 0x0E1A, 0x0E1B, 0x0E1C, 0x0E1D, 0x0E1E, 0x0E1F, 0x0E20, 0x0E21, 0x0E22, 0x0E23, 0x0E24, 0x0E25, 0x0E26,
|
||||
0x0E27, 0x0E28, 0x0E29, 0x0E2A, 0x0E2B, 0x0E2C, 0x0E2D, 0x0E2E, 0x0E2F, 0x0E30, 0x0E31, 0x0E32, 0x0E33, 0x0E34, 0x0E35, 0x0E36, 0x0E37, 0x0E38,
|
||||
0x0E39, 0x0E3A, 0x0E3B, 0x8, 0x1000, 0x1001, 0x1002, 0x1003, 0x1004, 0x1005, 0x1006, 0x1007, 0x1008, 0x1009, 0x100A, 0x100B, 0x100C, 0x100D,
|
||||
0x100E, 0x100F, 0x1010, 0x1011, 0x1012, 0x1013, 0x1014, 0x1015, 0x1016, 0x1017, 0x1018, 0x1019, 0x101A, 0x101B, 0x101C, 0x101D, 0x101E, 0x101F,
|
||||
0x1020, 0x1021, 0x1022, 0x1023, 0x1024, 0x1025, 0x1026, 0x1027, 0x1028, 0x1029, 0x102A, 0x102B, 0x102C, 0x102D, 0x102E, 0x102F, 0x1030, 0x1031,
|
||||
0x1032, 0x1033, 0x1034, 0x1035, 0x1036, 0x1037, 0x1038, 0x1039, 0x103A, 0x103B, 0x103C, 0x103D, 0x103E, 0x103F, 0x1040, 0x1041, 0x1042, 0x1043,
|
||||
0x1044, 0x9, 0x1200, 0x1201, 0x1202, 0x1203, 0x1204, 0x1205, 0x1206, 0x1207, 0x1208, 0x1209, 0x120A, 0x120B, 0x120C, 0x120D, 0x120E, 0x120F, 0x1210,
|
||||
0x1211, 0x1212, 0x1213, 0x1214, 0x1215, 0x1216, 0x1217, 0x1218, 0x1219, 0x121A, 0x121B, 0x121C, 0x121D, 0x121E, 0x121F, 0x1220, 0x1221, 0x1222, 0x1223,
|
||||
0x1224, 0x1225, 0x1226, 0x1227, 0x1228, 0x1229, 0x122A, 0x122B, 0x122C, 0x122D, 0x122E, 0x122F, 0x1230, 0x1231, 0x1232, 0x1233, 0x1234, 0x1235, 0x1236,
|
||||
0x1237, 0x1238, 0x1239, 0x123A, 0x123B, 0x123C, 0x123D, 0x123E, 0x123F, 0x1240, 0x1241, 0x1242, 0x1243, 0x1244, 0xA, 0x1400, 0x1401, 0x1402, 0x1403,
|
||||
0x1404, 0x1405, 0x1406, 0x1407, 0x1408, 0x1409, 0x140A, 0x140B, 0x140C, 0x140D, 0x140E, 0x140F, 0x1410, 0x1411, 0x1412, 0x1413, 0x1414, 0x1415, 0x1416,
|
||||
0x1417, 0x1418, 0x1419, 0x141A, 0x141B, 0x141C, 0x141D, 0x141E, 0x141F, 0x1420, 0x1421, 0x1422, 0x1423, 0x1424, 0x1425, 0x1426, 0x1427, 0x1428, 0x1429,
|
||||
0x142A, 0x142B, 0x142C, 0x142D, 0x142E, 0x142F, 0x1430, 0x1431, 0x1432, 0x1433, 0x1434, 0x1435, 0x1436, 0x1437, 0x1438, 0x1439, 0x143A, 0x143B, 0x143C,
|
||||
0x143D, 0x143E, 0x143F, 0x1440, 0x1441, 0x1442, 0x1443, 0x1444, 0xB, 0x1600, 0x1601, 0x1602, 0x1603, 0x1604, 0x1605, 0x1606, 0x1607, 0x1608, 0x1609,
|
||||
0x160A, 0x160B, 0x160C, 0x160D, 0x160E, 0x160F, 0x1610, 0x1611, 0x1612, 0x1613, 0x1614, 0x1615, 0x1616, 0x1617, 0x1618, 0x1619, 0x161A, 0x161B, 0x161C,
|
||||
0x161D, 0x161E, 0x161F, 0x1620, 0x1621, 0x1622, 0x1623, 0x1624, 0x1625, 0x1626, 0x1627, 0x1628, 0x1629, 0x162A, 0x162B, 0x162C, 0x162D, 0x162E, 0x162F,
|
||||
0x1630, 0x1631, 0x1632, 0x1633, 0x1634, 0x1635, 0x1636, 0x1637, 0x1638, 0x1639, 0x163A, 0x163B, 0x163C, 0x163D, 0x163E, 0x163F, 0x1640, 0x1641, 0x1642,
|
||||
0x1643, 0x1644, 0x1645, 0x1646, 0x1647, 0x1648, 0x1649, 0x164A, 0x164B, 0x164C, 0x164D, 0xC, 0x1800, 0x1801, 0x1802, 0x1803, 0x1804, 0x1805, 0x1806,
|
||||
0x1807, 0x1808, 0x1809, 0x180A, 0x180B, 0x180C, 0x180D, 0x180E, 0x180F, 0x1810, 0x1811, 0x1812, 0x1813, 0x1814, 0x1815, 0x1816, 0x1817, 0x1818, 0x1819,
|
||||
0x181A, 0x181B, 0x181C, 0x181D, 0x181E, 0x181F, 0x1820, 0x1821, 0x1822, 0x1823, 0x1824, 0x1825, 0x1826, 0x1827, 0x1828, 0x1829, 0x182A, 0x182B, 0x182C,
|
||||
0xD, 0x1A00, 0x1A01, 0x1A02, 0x1A03, 0x1A04, 0x1A05, 0x1A06, 0x1A07, 0x1A08, 0x1A09, 0x1A0A, 0x1A0B, 0x1A0C, 0x1A0D, 0x1A0E, 0x1A0F, 0x1A10, 0x1A11,
|
||||
0x1A12, 0x1A13, 0x1A14, 0x1A15, 0x1A16, 0x1A17, 0x1A18, 0x1A19, 0x1A1A, 0x1A1B, 0x1A1C, 0x1A1D, 0x1A1E, 0x1A1F, 0x1A20, 0x1A21, 0x1A22, 0x1A23, 0x1A24,
|
||||
0x1A25, 0x1A26, 0x1A27, 0x1A28, 0x1A29, 0x1A2A, 0x1A2B, 0x1A2C, 0x1A2D, 0x1A2E, 0x1A2F, 0x1A30, 0x1A31, 0x1A32, 0x1A33, 0x1A34, 0x1A35, 0xE, 0x1C00,
|
||||
0x1C01, 0x1C02, 0x1C03, 0x1C04, 0x1C05, 0x1C06, 0x1C07, 0x1C08, 0x1C09, 0x1C0A, 0x1C0B, 0x1C0C, 0x1C0D, 0x1C0E, 0x1C0F, 0x1C10, 0x1C11, 0x1C12, 0x1C13,
|
||||
0x1C14, 0x1C15, 0x1C16, 0x1C17, 0x1C18, 0x1C19, 0x1C1A, 0x1C1B, 0x1C1C, 0x1C1D, 0x1C1E, 0x1C1F, 0x1C20, 0x1C21, 0x1C22, 0x1C23, 0x1C24, 0x1C25, 0x1C26,
|
||||
0x1C27, 0x1C28, 0x1C29, 0x1C2A, 0x1C2B, 0x1C2C, 0xF, 0x1E00, 0x1E01, 0x1E02, 0x1E03, 0x1E04, 0x1E05, 0x1E06, 0x1E07, 0x1E08, 0x1E09, 0x1E0A, 0x1E0B,
|
||||
0x1E0C, 0x1E0D, 0x1E0E, 0x1E0F, 0x1E10, 0x1E11, 0x1E12, 0x1E13, 0x1E14, 0x1E15, 0x1E16, 0x1E17, 0x1E18, 0x1E19, 0x1E1A, 0x1E1B, 0x1E1C, 0x1E1D, 0x1E1E,
|
||||
0x1E1F, 0x1E20, 0x1E21, 0x1E22, 0x1E23, 0x1E24, 0x1E25, 0x1E26, 0x1E27, 0x1E28, 0x1E29, 0x10, 0x2000, 0x2001, 0x2002, 0x2003, 0x2004, 0x2005, 0x2006,
|
||||
0x2007, 0x2008, 0x2009, 0x200A, 0x200B, 0x200C, 0x200D, 0x200E, 0x200F, 0x2010, 0x2011, 0x2012, 0x2013, 0x2014, 0x2015, 0x2016, 0x2017, 0x2018, 0x2019,
|
||||
0x201A, 0x201B, 0x201C, 0x201D, 0x201E, 0x201F, 0x2020, 0x2021, 0x2022, 0x2023, 0x11, 0x2200, 0x2201, 0x2202, 0x2203, 0x2204, 0x2205, 0x2206, 0x2207,
|
||||
0x2208, 0x2209, 0x220A, 0x220B, 0x220C, 0x220D, 0x220E, 0x220F, 0x2210, 0x2211, 0x2212, 0x2213, 0x2214, 0x2215, 0x2216, 0x2217, 0x2218, 0x2219, 0x221A,
|
||||
0x221B, 0x221C, 0x12, 0x2402, 0x2403, 0x2409, 0x240D, 0x240F, 0x2410, 0x2413, 0x2414, 0x241C, 0x241D, 0x2425, 0x2426, 0x2427, 0x242C, 0x242F, 0x2431,
|
||||
0x2432, 0x2435, 0x2436, 0x243C, 0x243E, 0x2442, 0x2443, 0x2444, 0x2446, 0x2447, 0x244A, 0x244C, 0x244E, 0x2451, 0x2455, 0x2457, 0x2458, 0x2459, 0x245A,
|
||||
0x245B, 0x245E, 0x245F, 0x2461, 0x2463, 0x2467, 0x2468, 0x2469, 0x246A, 0x246C, 0x246D, 0x246E, 0x2472, 0x2474, 0x2475, 0x2477, 0x2478, 0x247A, 0x247B,
|
||||
0x2480, 0x2481, 0x2484, 0x2486, 0x248D, 0x248E, 0x248F, 0x2491, 0x2493, 0x2495, 0x2498, 0x249D, 0x249F, 0x24A2, 0x24A3, 0x24A6, 0x24A9, 0x24AA, 0x24AB,
|
||||
0x24AC, 0x24AD, 0x24AF, 0x24B1, 0x24B3, 0x24B4, 0x24B5, 0x24B8, 0x24BE, 0x24C4, 0x24C8, 0x24C9, 0x24CA, 0x24CB, 0x24CC, 0x24CD, 0x24CF, 0x24D1, 0x24D4,
|
||||
0x24D7, 0x24D8, 0x24DB, 0x24DC, 0x24DD, 0x24E3, 0x24E4, 0x24E5, 0x24E6, 0x24E7, 0x24E9, 0x24EA, 0x24EB, 0x24EE, 0x24F0, 0x24F2, 0x24F4, 0x24F5, 0x24F6,
|
||||
0x24F7, 0x24F9, 0x24FA, 0x24FD, 0x2502, 0x2503, 0x2504, 0x2505, 0x2506, 0x2507, 0x2508, 0x2509, 0x250A, 0x250B, 0x250C, 0x2518, 0x2519, 0x251B, 0x251D,
|
||||
0x2520, 0x252D, 0x2535, 0x2536, 0x2537, 0x2538, 0x2539, 0x253A, 0x253B, 0x253C, 0x253D, 0x253E, 0x253F, 0x2540, 0x2541, 0x2542, 0x2543, 0x2544, 0x2545,
|
||||
0x2546, 0x2547, 0x2548, 0x2549, 0x2562, 0x13, 0x2601, 0x2604, 0x2605, 0x2606, 0x2607, 0x2608, 0x260A, 0x260B, 0x260C, 0x260E, 0x2611, 0x2612, 0x2615,
|
||||
0x2616, 0x2617, 0x2618, 0x2619, 0x261A, 0x261B, 0x261E, 0x261F, 0x2620, 0x2621, 0x2622, 0x2623, 0x2624, 0x2628, 0x2629, 0x262A, 0x262B, 0x262D, 0x262E,
|
||||
0x2630, 0x2633, 0x2634, 0x2637, 0x2638, 0x2639, 0x263A, 0x263B, 0x263D, 0x263F, 0x2640, 0x2641, 0x2645, 0x2648, 0x2649, 0x264B, 0x264D, 0x264F, 0x2650,
|
||||
0x2652, 0x2653, 0x2654, 0x2656, 0x265C, 0x265D, 0x2660, 0x2662, 0x2664, 0x2665, 0x2666, 0x266B, 0x266F, 0x2670, 0x2671, 0x2673, 0x2676, 0x2679, 0x267C,
|
||||
0x267D, 0x267E, 0x267F, 0x2682, 0x2683, 0x2685, 0x2687, 0x2688, 0x2689, 0x268A, 0x268B, 0x268C, 0x2690, 0x2692, 0x2694, 0x2696, 0x2697, 0x2699, 0x269A,
|
||||
0x269B, 0x269C, 0x269E, 0x26A0, 0x26A1, 0x26A4, 0x26A5, 0x26A7, 0x26A8, 0x26AE, 0x26B0, 0x26B2, 0x26B6, 0x26B7, 0x26B9, 0x26BA, 0x26BB, 0x26BC, 0x26BD,
|
||||
0x26BF, 0x26C0, 0x26C1, 0x26C2, 0x26C3, 0x26C5, 0x26C6, 0x26C7, 0x26CE, 0x26D0, 0x26D2, 0x26D3, 0x26D5, 0x26D6, 0x26D9, 0x26DA, 0x26DE, 0x26DF, 0x26E0,
|
||||
0x26E1, 0x26E2, 0x26E8, 0x26EC, 0x26ED, 0x26EF, 0x26F1, 0x26F3, 0x26F8, 0x26FB, 0x26FC, 0x26FE, 0x26FF, 0x2700, 0x2701, 0x270D, 0x270E, 0x270F, 0x2710,
|
||||
0x2711, 0x2712, 0x2713, 0x2714, 0x2715, 0x2716, 0x2717, 0x271A, 0x271C, 0x271E, 0x271F, 0x2721, 0x2722, 0x2723, 0x2724, 0x2725, 0x2726, 0x2727, 0x2728,
|
||||
0x2729, 0x272A, 0x272B, 0x272C, 0x272E, 0x272F, 0x2730, 0x2731, 0x2732, 0x2733, 0x2734, 0x274A, 0x274B, 0x274C, 0x274D, 0x274E, 0x274F, 0x2750, 0x2751,
|
||||
0x2752, 0x2753, 0x2754, 0x2755, 0x2756, 0x2757, 0x2758, 0x2759, 0x275A, 0x275B, 0x275C, 0x275D, 0x275E, 0x275F, 0x2760, 0x2761, 0x14, 0x0001, 0x0002, 0x0003,
|
||||
0x0004, 0x0005, 0x0006, 0x0007, 0x0008, 0x0009, 0x000A, 0x000B, 0x000C, 0x000D, 0x000E, 0x000F, 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016,
|
||||
0x0017, 0x0018, 0x0019, 0x001A, 0x001B, 0x001C, 0x001D, 0x001E, 0x001F, 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, 0x0028, 0x0029,
|
||||
0x002A, 0x002B, 0x002C, 0x002D, 0x002E, 0x002F, 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, 0x0038, 0x0039, 0x003A, 0x003B, 0x003C,
|
||||
0x003D, 0x003E, 0x003F, 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, 0x0048, 0x0049, 0x004A, 0x004B, 0x004C, 0x004D, 0x004E, 0x004F,
|
||||
0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058, 0x0059, 0x005A, 0x005B, 0x005C, 0x005D, 0x005E, 0x005F, 0x0060, 0x0061, 0x0062,
|
||||
0x0063, 0x0064, 0x0065, 0x0066, 0x0067, 0x0068, 0x0069, 0x006A, 0x006B, 0x006C, 0x006D, 0x006E, 0x006F, 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075,
|
||||
0x0076, 0x0077, 0x0078, 0x0079, 0x007A, 0x007B, 0x007C, 0x007D, 0x007E, 0x007F, 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087, 0x0088,
|
||||
0x0089, 0x008A, 0x008B, 0x008C, 0x008D, 0x008E, 0x008F, 0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097, 0x0098, 0x0099, 0x009A, 0x009B,
|
||||
0x009C, 0x009D, 0x009E, 0x009F, 0x00A0, 0x00A1, 0x00A2, 0x00A3, 0x00A4, 0x00A5, 0x00A6, 0x00A7, 0x00A8, 0x00A9, 0x00AA, 0x00AB, 0x00AC, 0x00AD, 0x00AE,
|
||||
0x00AF, 0x00B0, 0x00B1, 0x00B2, 0x00B3, 0x00B4, 0x00B5, 0x00B6, 0x00B7, 0x00B8, 0x00B9, 0x00BA, 0x00BB, 0x00BC, 0x00BD, 0x00BE, 0x00BF, 0x00C0, 0x00C1,
|
||||
0x00C2, 0x00C3, 0x00C4, 0x00C5, 0x00C6, 0x00C7, 0x00C8, 0x00C9, 0x00CA, 0x00CB, 0x00CC, 0x00CD, 0x00CE, 0x00CF, 0x00D0, 0x00D1, 0x00D2, 0x00D3, 0x00D4,
|
||||
0x00D5, 0x00D6, 0x00D7, 0x00D8, 0x00D9, 0x00DA, 0x00DB, 0x00DC, 0x00DD, 0x00DE, 0x00DF, 0x00E0, 0x00E1, 0x00E2, 0x00E3, 0x00E4, 0x00E5, 0x00E6, 0x00E7,
|
||||
0x00E8, 0x00E9, 0x00EA, 0x00EB, 0x00EC, 0x00ED, 0x00EE, 0x00EF, 0x00F0, 0x00F1, 0x00F2, 0x00F3, 0x00F4, 0x00F5, 0x00F6, 0x00F7, 0x00F8, 0x00F9, 0x00FA,
|
||||
0x00FB, 0x15, 0x2800, 0x2801, 0x2802, 0x2803, 0x2804, 0x2805, 0x2806, 0x2807, 0x2808, 0x2809, 0x280A, 0x280B, 0x280C, 0x280D, 0x280E, 0x280F, 0x2810,
|
||||
0x2811, 0x2812, 0x2813, 0x2814, 0x2815, 0x2816, 0x2817, 0x2818, 0x2819, 0x281A, 0x281B, 0x281C, 0x281D, 0x281E, 0x281F, 0x2820
|
||||
};
|
||||
void EngCheckedChanged(object sender, EventArgs e)
|
||||
{
|
||||
update_easychat();
|
||||
}
|
||||
void FreCheckedChanged(object sender, EventArgs e)
|
||||
{
|
||||
update_easychat();
|
||||
}
|
||||
void GerCheckedChanged(object sender, EventArgs e)
|
||||
{
|
||||
update_easychat();
|
||||
}
|
||||
void ItaCheckedChanged(object sender, EventArgs e)
|
||||
{
|
||||
update_easychat();
|
||||
}
|
||||
void EspCheckedChanged(object sender, EventArgs e)
|
||||
{
|
||||
update_easychat();
|
||||
}
|
||||
void JapCheckedChanged(object sender, EventArgs e)
|
||||
{
|
||||
update_easychat();
|
||||
}
|
||||
|
||||
|
||||
void ECT_editorDragEnter(object sender, DragEventArgs e)
|
||||
{
|
||||
e.Effect = DragDropEffects.All;
|
||||
}
|
||||
void ECT_editorDragDrop(object sender, DragEventArgs e)
|
||||
{
|
||||
string[] files = (string[])e.Data.GetData(DataFormats.FileDrop, false);
|
||||
Load_ECT(files[0]);
|
||||
}
|
||||
}
|
||||
}
|
||||
120
wc3_tool/WC3/ECT_editor.resx
Normal file
120
wc3_tool/WC3/ECT_editor.resx
Normal file
|
|
@ -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>
|
||||
10655
wc3_tool/WC3/ECT_editor_text.cs
Normal file
10655
wc3_tool/WC3/ECT_editor_text.cs
Normal file
File diff suppressed because it is too large
Load Diff
2555
wc3_tool/WC3/ECT_pkedit.Designer.cs
generated
Normal file
2555
wc3_tool/WC3/ECT_pkedit.Designer.cs
generated
Normal file
File diff suppressed because it is too large
Load Diff
159
wc3_tool/WC3/ECT_pkedit.cs
Normal file
159
wc3_tool/WC3/ECT_pkedit.cs
Normal file
|
|
@ -0,0 +1,159 @@
|
|||
/*
|
||||
* Created by SharpDevelop.
|
||||
* User: suloku
|
||||
* Date: 04/05/2016
|
||||
* Time: 13:42
|
||||
*
|
||||
* To change this template use Tools | Options | Coding | Edit Standard Headers.
|
||||
*/
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Data;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Windows.Forms;
|
||||
using System.IO;
|
||||
|
||||
namespace WC3_TOOL
|
||||
{
|
||||
/// <summary>
|
||||
/// Description of ECT_pkedit.
|
||||
/// </summary>
|
||||
public partial class ECT_pkedit : Form
|
||||
{
|
||||
public ECT_pkedit(int index)
|
||||
{
|
||||
//
|
||||
// The InitializeComponent() call is required for Windows Forms designer support.
|
||||
//
|
||||
InitializeComponent();
|
||||
pid.Maximum = 0xFFFFFFFF;
|
||||
pk = 0x34+(index*44);
|
||||
populate();
|
||||
|
||||
//
|
||||
// TODO: Add constructor code after the InitializeComponent() call.
|
||||
//
|
||||
}
|
||||
int pk;
|
||||
//byte nickname;
|
||||
|
||||
public UInt32 IV32 { get { return BitConverter.ToUInt32(ECT_editor.ectfile.Data, pk+0x18); } set { BitConverter.GetBytes((UInt32)value).CopyTo(ECT_editor.ectfile.Data, 0x18); } }
|
||||
public int IV_HP { get { return (int)(IV32 >> 00) & 0x1F; } set { IV32 = (uint)((IV32 & ~(0x1F << 00)) | (uint)((value > 31 ? 31 : value) << 00)); } }
|
||||
public int IV_ATK { get { return (int)(IV32 >> 05) & 0x1F; } set { IV32 = (uint)((IV32 & ~(0x1F << 05)) | (uint)((value > 31 ? 31 : value) << 05)); } }
|
||||
public int IV_DEF { get { return (int)(IV32 >> 10) & 0x1F; } set { IV32 = (uint)((IV32 & ~(0x1F << 10)) | (uint)((value > 31 ? 31 : value) << 10)); } }
|
||||
public int IV_SPE { get { return (int)(IV32 >> 15) & 0x1F; } set { IV32 = (uint)((IV32 & ~(0x1F << 15)) | (uint)((value > 31 ? 31 : value) << 15)); } }
|
||||
public int IV_SPA { get { return (int)(IV32 >> 20) & 0x1F; } set { IV32 = (uint)((IV32 & ~(0x1F << 20)) | (uint)((value > 31 ? 31 : value) << 20)); } }
|
||||
public int IV_SPD { get { return (int)(IV32 >> 25) & 0x1F; } set { IV32 = (uint)((IV32 & ~(0x1F << 25)) | (uint)((value > 31 ? 31 : value) << 25)); } }
|
||||
public int IV_Ability { get { return (int)((IV32 >> 31) & 1); } set { IV32 = (IV32 & 0x7FFFFFFF) | (value == 1 ? 0x80000000 : 0); } }
|
||||
|
||||
public byte PPUP { get { return ECT_editor.ectfile.Data[pk+0xD]; } set { ECT_editor.ectfile.Data[pk+0xD] = value; } }
|
||||
public int PPUP_1 { get { return (int)(PPUP >> 00) & 0x03; } set { PPUP = (byte)((PPUP & ~(0x03 << 00)) | (byte)((value > 3 ? 3 : value) << 00)); } }
|
||||
public int PPUP_2 { get { return (int)(PPUP >> 02) & 0x03; } set { PPUP = (byte)((PPUP & ~(0x03 << 02)) | (byte)((value > 3 ? 3 : value) << 02)); } }
|
||||
public int PPUP_3 { get { return (int)(PPUP >> 04) & 0x03; } set { PPUP = (byte)((PPUP & ~(0x03 << 04)) | (byte)((value > 3 ? 3 : value) << 04)); } }
|
||||
public int PPUP_4 { get { return (int)(PPUP >> 06) & 0x03; } set { PPUP = (byte)((PPUP & ~(0x03 << 06)) | (byte)((value > 3 ? 3 : value) << 06)); } }
|
||||
|
||||
void populate()
|
||||
{
|
||||
item_box.SelectedIndex = BitConverter.ToUInt16( ECT_editor.ectfile.getData(pk+0x2, 2), 0);
|
||||
namebox.Text = PKHeX.PKM.getG3Str(ECT_editor.ectfile.getData(pk+0x20, 11), jap_check.Checked);
|
||||
|
||||
move1.SelectedIndex = BitConverter.ToUInt16( ECT_editor.ectfile.getData(pk+0x4, 2), 0);
|
||||
move2.SelectedIndex = BitConverter.ToUInt16( ECT_editor.ectfile.getData(pk+0x6, 2), 0);
|
||||
move3.SelectedIndex = BitConverter.ToUInt16( ECT_editor.ectfile.getData(pk+0x8, 2), 0);
|
||||
move4.SelectedIndex = BitConverter.ToUInt16( ECT_editor.ectfile.getData(pk+0xA, 2), 0);
|
||||
|
||||
pp1.Value = PPUP_1;
|
||||
pp2.Value = PPUP_2;
|
||||
pp3.Value = PPUP_3;
|
||||
pp4.Value = PPUP_4;
|
||||
|
||||
level.Value = ECT_editor.ectfile.Data[pk+0x0C];
|
||||
friendship.Value = ECT_editor.ectfile.Data[pk+0x2B];
|
||||
|
||||
otid.Value = BitConverter.ToUInt16( ECT_editor.ectfile.getData(pk+0x14, 2), 0);
|
||||
otsid.Value = BitConverter.ToUInt16( ECT_editor.ectfile.getData(pk+0x16, 2), 0);
|
||||
|
||||
pid.Value = BitConverter.ToUInt32( ECT_editor.ectfile.getData(pk+0x1c, 4), 0);
|
||||
|
||||
ev1.Value = ECT_editor.ectfile.Data[pk+0x0E];
|
||||
ev2.Value = ECT_editor.ectfile.Data[pk+0x0F];
|
||||
ev3.Value = ECT_editor.ectfile.Data[pk+0x10];
|
||||
ev4.Value = ECT_editor.ectfile.Data[pk+0x11];
|
||||
ev5.Value = ECT_editor.ectfile.Data[pk+0x12];
|
||||
ev6.Value = ECT_editor.ectfile.Data[pk+0x13];
|
||||
|
||||
iv1.Value = IV_HP;
|
||||
iv2.Value = IV_ATK;
|
||||
iv3.Value = IV_DEF;
|
||||
iv4.Value = IV_SPE;
|
||||
iv5.Value = IV_SPA;
|
||||
iv6.Value = IV_SPD;
|
||||
|
||||
ability.Value = IV_Ability;
|
||||
|
||||
}
|
||||
|
||||
void save_edits()
|
||||
{
|
||||
ECT_editor.ectfile.setData(BitConverter.GetBytes((UInt16)item_box.SelectedIndex).ToArray(),pk+0x2);
|
||||
|
||||
ECT_editor.ectfile.setData(PKHeX.PKM.setG3Str(namebox.Text, jap_check.Checked), pk+0x20);
|
||||
|
||||
ECT_editor.ectfile.setData(BitConverter.GetBytes((UInt16)move1.SelectedIndex).ToArray(),pk+0x4);
|
||||
ECT_editor.ectfile.setData(BitConverter.GetBytes((UInt16)move2.SelectedIndex).ToArray(),pk+0x6);
|
||||
ECT_editor.ectfile.setData(BitConverter.GetBytes((UInt16)move3.SelectedIndex).ToArray(),pk+0x8);
|
||||
ECT_editor.ectfile.setData(BitConverter.GetBytes((UInt16)move4.SelectedIndex).ToArray(),pk+0xA);
|
||||
|
||||
PPUP_1 = (int)pp1.Value;
|
||||
PPUP_2 = (int)pp1.Value;
|
||||
PPUP_3 = (int)pp1.Value;
|
||||
PPUP_4 = (int)pp1.Value;
|
||||
|
||||
ECT_editor.ectfile.Data[pk+0x0C] = (byte) level.Value;
|
||||
ECT_editor.ectfile.Data[pk+0x2B] = (byte) friendship.Value;
|
||||
|
||||
ECT_editor.ectfile.setData(BitConverter.GetBytes((UInt16)otid.Value).ToArray(), pk+0x14);
|
||||
ECT_editor.ectfile.setData(BitConverter.GetBytes((UInt16)otsid.Value).ToArray(), pk+0x16);
|
||||
|
||||
ECT_editor.ectfile.setData(BitConverter.GetBytes((UInt32)pid.Value).ToArray(), pk+0x1c);
|
||||
|
||||
|
||||
ECT_editor.ectfile.Data[pk+0x0E] = (byte) ev1.Value;
|
||||
ECT_editor.ectfile.Data[pk+0x0F] = (byte) ev2.Value;
|
||||
ECT_editor.ectfile.Data[pk+0x10] = (byte) ev3.Value;
|
||||
ECT_editor.ectfile.Data[pk+0x11] = (byte) ev4.Value;
|
||||
ECT_editor.ectfile.Data[pk+0x12] = (byte) ev5.Value;
|
||||
ECT_editor.ectfile.Data[pk+0x13] = (byte) ev6.Value;
|
||||
|
||||
|
||||
IV_HP = (int)iv1.Value;
|
||||
IV_ATK = (int)iv1.Value;
|
||||
IV_DEF = (int)iv3.Value;
|
||||
IV_SPE = (int)iv4.Value;
|
||||
IV_SPA = (int)iv5.Value;
|
||||
IV_SPD = (int)iv6.Value;
|
||||
|
||||
IV_Ability = (int)ability.Value;
|
||||
|
||||
}
|
||||
|
||||
void CancelClick(object sender, EventArgs e)
|
||||
{
|
||||
this.Close();
|
||||
}
|
||||
void SaveClick(object sender, EventArgs e)
|
||||
{
|
||||
save_edits();
|
||||
this.Close();
|
||||
}
|
||||
void Jap_checkCheckedChanged(object sender, EventArgs e)
|
||||
{
|
||||
namebox.Text = PKHeX.PKM.getG3Str(ECT_editor.ectfile.getData(pk+0x20, 11), jap_check.Checked);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
120
wc3_tool/WC3/ECT_pkedit.resx
Normal file
120
wc3_tool/WC3/ECT_pkedit.resx
Normal file
|
|
@ -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>
|
||||
108
wc3_tool/WC3/FILEIO.cs
Normal file
108
wc3_tool/WC3/FILEIO.cs
Normal file
|
|
@ -0,0 +1,108 @@
|
|||
/*
|
||||
* Created by SharpDevelop.
|
||||
* User: suloku
|
||||
* Date: 28/04/2016
|
||||
* Time: 21:23
|
||||
*
|
||||
* To change this template use Tools | Options | Coding | Edit Standard Headers.
|
||||
*/
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Data;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Windows.Forms;
|
||||
using System.IO;
|
||||
|
||||
namespace WC3_TOOL
|
||||
{
|
||||
/// <summary>
|
||||
/// Description of FILEIO.
|
||||
/// </summary>
|
||||
public class FileIO
|
||||
{
|
||||
/// <summary>
|
||||
/// Reads data into a complete array, throwing an EndOfStreamException
|
||||
/// if the stream runs out of data first, or if an IOException
|
||||
/// naturally occurs.
|
||||
/// </summary>
|
||||
/// <param name="stream">The stream to read data from</param>
|
||||
/// <param name="data">The array to read bytes into. The array
|
||||
/// will be completely filled from the stream, so an appropriate
|
||||
/// size must be given.</param>
|
||||
private static void ReadWholeArray (Stream stream, ref byte[] data)
|
||||
{
|
||||
int offset=0;
|
||||
int remaining = data.Length;
|
||||
while (remaining > 0)
|
||||
{
|
||||
int read = stream.Read(data, offset, remaining);
|
||||
if (read <= 0)
|
||||
throw new EndOfStreamException
|
||||
(String.Format("End of stream reached with {0} bytes left to read", remaining));
|
||||
remaining -= read;
|
||||
offset += read;
|
||||
}
|
||||
}
|
||||
private static void _read_data(ref byte [] buffer, string path)
|
||||
{
|
||||
System.IO.FileStream saveFile;
|
||||
saveFile = new FileStream(path, FileMode.Open);
|
||||
if (saveFile.Length < 1){
|
||||
MessageBox.Show("Invalid file length", "Error");
|
||||
return;
|
||||
}
|
||||
buffer = new byte[saveFile.Length];
|
||||
//MessageBox.Show(buffer.Length.ToString());
|
||||
ReadWholeArray(saveFile, ref buffer);
|
||||
saveFile.Close();
|
||||
return;
|
||||
}
|
||||
public static int load_file(ref byte[] buffer, ref string path, string filter)
|
||||
{
|
||||
if (path == null)
|
||||
{
|
||||
OpenFileDialog openFD = new OpenFileDialog();
|
||||
//openFD.InitialDirectory = "c:\\";
|
||||
openFD.Filter = filter;
|
||||
DialogResult result = openFD.ShowDialog();
|
||||
if ( result == DialogResult.OK)
|
||||
{
|
||||
#region filename
|
||||
path = openFD.FileName;
|
||||
//MessageBox.Show(path.ToString());
|
||||
#endregion
|
||||
_read_data(ref buffer, path);
|
||||
//MessageBox.Show(buffer.Length.ToString());
|
||||
return buffer.Length;
|
||||
}else{
|
||||
return -1;
|
||||
}
|
||||
}else
|
||||
{
|
||||
_read_data(ref buffer, path);
|
||||
//MessageBox.Show(buffer.Length.ToString());
|
||||
return buffer.Length;
|
||||
}
|
||||
|
||||
}
|
||||
public static void save_data(byte[] buffer, string filter)
|
||||
{ //if (savegamename.Text.Length < 1) return;
|
||||
if (buffer == null) return;
|
||||
SaveFileDialog saveFD = new SaveFileDialog();
|
||||
//saveFD.InitialDirectory = "c:\\";
|
||||
saveFD.Filter = filter;
|
||||
if (saveFD.ShowDialog() == DialogResult.OK)
|
||||
{
|
||||
System.IO.FileStream saveFile;
|
||||
saveFile = new FileStream(saveFD.FileName, FileMode.Create);
|
||||
//Write file
|
||||
saveFile.Write(buffer, 0, buffer.Length);
|
||||
saveFile.Close();
|
||||
MessageBox.Show("File Saved.", "Save file");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
755
wc3_tool/WC3/GiveEggOrg.resx
Normal file
755
wc3_tool/WC3/GiveEggOrg.resx
Normal file
|
|
@ -0,0 +1,755 @@
|
|||
<?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="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
||||
<data name="ROM_E_GiveEgg_Deu" type="System.Byte[], mscorlib">
|
||||
<value>
|
||||
uFleaAgr5AG7AGheaAgMJt1AhgAh3UAGALsBj15oCCnkAbqaXmgIalq9+l5oCGZtMXIBMmwCalq9oV9o
|
||||
CGZtbAJ6rADN3UDS3UD/Id1AAQC7AdxeaAgh3UACALsB4l5oCCHdQAMAuwHoXmgIId1ABAC7Ae5eaAgh
|
||||
3UAFALsB9F5oCAN7AQI5AAN7AgI5AAN7AwI5AAN7BAI5AAN7BQI5AAO+1eLf2bgA2NXn5wDY6QDY1ecA
|
||||
wb/Cv8PHrv7Bv829wr/Cv8gA1tni6eju6ADc1eforfvD4QDKycUbx8nIrr2/yM6/zADr1ebo2ej+2d3i
|
||||
AMHZ59fc2eLfANXp2gDY3dfcrQC/3eL6ysnFG8fJyK6/w6v6vN3o6NkA6ObV3eLd2ebZANjV5wDKycUb
|
||||
x8nI+uHd6ADG3dnW2QDp4tgAzePm29rV4Oit/8ncuADY6QDc1efoAN/Z3eLZ4gDK4NXo7gDd4gDY2d3i
|
||||
2eH+ztnV4av6vN3o6NkA3+Ph4dkA693Z2NnmuADi1dfc2NnhANjp+tnd4gDKycUbx8nIANXp2gDZ3eLZ
|
||||
4QDKvfrb2eDV29nm6ADc1eforf8=
|
||||
</value>
|
||||
</data>
|
||||
<data name="ROM_E_GiveEgg_Eng" type="System.Byte[], mscorlib">
|
||||
<value>
|
||||
uD1NZwgr5AG7AExNZwgMJt1AhgAh3UAGALsBc01nCCnkAbp+TWcIalq93k1nCGZtMXIBMmwCalq9ak5n
|
||||
CGZtbAJ6rADN3UDS3UD/Id1AAQC7AcBNZwgh3UACALsBxk1nCCHdQAMAuwHMTWcIId1ABAC7AdJNZwgh
|
||||
3UAFALsB2E1nCAN7AQI5AAN7AgI5AAN7AwI5AAN7BAI5AAN7BQI5AAPO3NXi3wDt4+kA2uPmAOnn3eLb
|
||||
AOjc2QDH083Ov8zT/sHDwM4Aze3n6NnhrfvA5uPhAOjc2QDKycUbx8nIAL2/yM6/zADr2f7c1erZANUA
|
||||
293a6K6u1QDKycUbx8nIAL/Bwav7yuDZ1efZAObV3efZAN3oAOvd6NwA4OPq2QDV4tj+393i2OLZ5+et
|
||||
/8ncuADt4+nmAOTV5ujtANXk5NnV5ucA6OMA1tkA2ung4K37yuDZ1efZANfj4dkA59nZAOHZANXa6Nnm
|
||||
AOfo4+bd4tv+1QDKycUbx8nIAOPiANUAyr2t/w==
|
||||
</value>
|
||||
</data>
|
||||
<data name="ROM_E_GiveEgg_Esp" type="System.Byte[], mscorlib">
|
||||
<value>
|
||||
uINyZwgr5AG7AJJyZwgMJt1AhgAh3UAGALsBuXJnCCnkAbrEcmcIalq9JHNnCGZtMXIBMmwCalq9rHNn
|
||||
CGZtbAJ6rADN3UDS3UD/Id1AAQC7AQZzZwgh3UACALsBDHNnCCHdQAMAuwESc2cIId1ABAC7ARhzZwgh
|
||||
3UAFALsBHnNnCAN7AQI5AAN7AgI5AAN7AwI5AAN7BAI5AAN7BQI5AAPB5tXX3dXnAOTj5gDp59XmANng
|
||||
AOfd5+jZ4dX+2NngAMy/wbvGyQDHw83Ov8zDyc3JrfvO2eLZ4ePnAOniAMy/wbvGyQDY2eAAvb/IzszJ
|
||||
/srJxRvHycjwAFLp4gDCz7/QyQDKycUbx8nIq/u96W/Y1eDjANfj4gDo1dfo4wDtANfV5t0p463/ytXm
|
||||
2dfZAOXp2QDo6QDZ5end5OMA2efoF/7X4+Hk4Nno46370OnZ4OrZANfp1eLY4wDY2d7Z5wDV4Nsn4gDK
|
||||
ycUbx8nI/tniANngAMq9rf8=
|
||||
</value>
|
||||
</data>
|
||||
<data name="ROM_E_GiveEgg_Fre" type="System.Byte[], mscorlib">
|
||||
<value>
|
||||
uMKMZwgr5AG7ANGMZwgMJt1AhgAh3UAGALsB+IxnCCnkAboDjWcIalq9Y41nCGZtMXIBMmwCalq9z41n
|
||||
CGZtbAJ6rADN3UDS3UD/Id1AAQC7AUWNZwgh3UACALsBS41nCCHdQAMAuwFRjWcIId1ABAC7AVeNZwgh
|
||||
3UAFALsBXY1nCAN7AQI5AAN7AgI5AAN7AwI5AAN7BAI5AAN7BQI5AAPH2ebX3QDYtOno3eDd59nmAODZ
|
||||
AOft5+ga4dn+vbu+v7vPAMfTzc6t+8jj6ecA1erj4ucA6eIAyb/PwADk4+nmAOrj6eer+7/g2erZ7q7g
|
||||
2QDV6tnXANXh4+nmANno/tvZ4ujd4ODZ5+fZrf/J3LgA4LQb5end5NkA2efoAOTg2d3i2a37zNnq2eLZ
|
||||
7gDl6dXi2ADq4+nnANXp5tnuAObV4tsb/uniAMrJxRvHycgA2NXi5wDq4+jm2QDKva3/
|
||||
</value>
|
||||
</data>
|
||||
<data name="ROM_E_GiveEgg_Ita" type="System.Byte[], mscorlib">
|
||||
<value>
|
||||
uPUTZwgr5AG7AAQUZwgMJt1AhgAh3UAGALsBKxRnCCnkAbo2FGcIalq9lhRnCGZtMXIBMmwCalq9GhVn
|
||||
CGZtbAJ6rADN3UDS3UD/Id1AAQC7AXgUZwgh3UACALsBfhRnCCHdQAMAuwGEFGcIId1ABAC7AYoUZwgh
|
||||
3UAFALsBkBRnCAN7AQI5AAN7AgI5AAN7AwI5AAN7BAI5AAN7BQI5AAPB5tXu3dkA5NnmAOnn1ebZAN3g
|
||||
AM3d5+jZ4dX+vsnIyQDNv8HMv87Jrfu71tbd1eHjAOniAObZ29Xg4wDk2eYA6NkA2NUA6eL+vb/IzszJ
|
||||
AMrJxRvHyci4AOniAM/J0MkAysnFG8fJyKv7zubV6OjV4OMA1+PiAOjV4ujjANXh4+bZq//I4+IA3NXd
|
||||
AOTdJgDk4+fo4wDi2eDg1QDo6dX+5+Xp1djm1a37zuPm4tUA1QDo5uPq1ebh3QDY4+TjANXq2eb+2Nnk
|
||||
4+fd6NXo4wDp4uMA4wDk3Sb6ysnFG8fJyADi2eAAyr2t/w==
|
||||
</value>
|
||||
</data>
|
||||
<data name="ROM_E_GiveEgg_Jap" type="System.Byte[], mscorlib">
|
||||
<value>
|
||||
uF/MXwgr5AG7AG7MXwgMJt1AgwAh3UAGALsBlcxfCCnkAbqgzF8Ialq9AM1fCGZtMXIBMmwCalq9Xs1f
|
||||
CGZtbAJ6rADN3UDS3UD/Id1AAQC7AeLMXwgh3UACALsB6MxfCCHdQAMAuwHuzF8IId1ABAC7AfTMXwgh
|
||||
3UAFALsB+sxfCAN7AQI5AAN7AgI5AAN7AwI5AAN7BAI5AAN7BQI5AAMcDDgVBQgoIxkALQA7KCYD/gIQ
|
||||
QQcAASg3FAMAOzwCHw2r+0UDQACfWXN+Xn5grgAGJ/4KGQCfWXN+GQAQHzst+p16j35kAAIQDB8Nq/tB
|
||||
Aj0WAA9BExP+CEELAqv/BSQAEyMRN/4CUEsCGQAmA0QNGPufWXN+LQCbX1p+FgABPgkTBif+IwMCEUUA
|
||||
BQoMCEELAv8=
|
||||
</value>
|
||||
</data>
|
||||
<data name="ROM_FR_GiveEgg_Deu" type="System.Byte[], mscorlib">
|
||||
<value>
|
||||
uA10SAgr2AO7ABx0SAgMJrVAgwAhtUAGALsBQ3RICCnYA7pOdEgIalq9rnRICGZtMQIBMmwCalq9VXVI
|
||||
CGZtbAJ6rADNtUDStUD/IbVAAQC7AZB0SAghtUACALsBlnRICCG1QAMAuwGcdEgIIbVABAC7AaJ0SAgh
|
||||
tUAFALsBqHRICAN7AQI5AAN7AgI5AAN7AwI5AAN7BAI5AAN7BQI5AAO+1eLf2bgA2NXn5wDY6QDY1ecA
|
||||
wb/Cv8PHrv7Bv829wr/Cv8gA1tni6eju6ADc1eforfvD4QDKycUbx8nIrr2/yM6/zADr1ebo2ej+2d3i
|
||||
AMHZ59fc2eLfANXp2gDY3dfcrQC/3eL6ysnFG8fJyK6/w6v6vN3o6NkA6ObV3eLd2ebZANjV5wDKycUb
|
||||
x8nI+uHd6ADG3dnW2QDp4tgAzePm29rV4Oit/8ncuADY6QDc1efoAN/Z3eLZ4gDK4NXo7gDd4gDY2d3i
|
||||
2eH+ztnV4av6vN3o6NkA3+Ph4dkA693Z2NnmuADi1dfc2NnhANjp+tnd4gDKycUbx8nIANXp2gDZ3eLZ
|
||||
4QDKvfrb2eDV29nm6ADc1eforf8=
|
||||
</value>
|
||||
</data>
|
||||
<data name="ROM_FR_GiveEgg_Eng" type="System.Byte[], mscorlib">
|
||||
<value>
|
||||
uBWPSAgr2AO7ACSPSAgMJrVAgwAhtUAGALsBS49ICCnYA7pWj0gIalq9to9ICGZtMQIBMmwCalq9Q5BI
|
||||
CGZtbAJ6rADNtUDStUD/IbVAAQC7AZiPSAghtUACALsBno9ICCG1QAMAuwGkj0gIIbVABAC7AaqPSAgh
|
||||
tUAFALsBsI9ICAN7AQI5AAN7AgI5AAN7AwI5AAN7BAI5AAN7BQI5AAPO3NXi3wDt4+kA2uPmAOnn3eLb
|
||||
AOjc2QDH083Ov8zT/sHDwM4Aze3n6NnhrfvA5uPhAOjc2QDKycUbx8nIAL2/yM6/zADr2f7c1erZANUA
|
||||
293a6ACuANUAysnFG8fJyAC/wcGr+8rg2dXn2QDm1d3n2QDd6ADr3ejcAODj6tkA1eLY/t/d4tji2efn
|
||||
rf/J3LgA7ePp5gDk1ebo7QDV5OTZ1ebnAOjjANbZANrp4OCt+8rg2dXn2QDX4+HZAOfZ2QDh2QDV2ujZ
|
||||
5gDn6OPm3eLb/tUAysnFG8fJyADj4gDVAMq9rf8=
|
||||
</value>
|
||||
</data>
|
||||
<data name="ROM_FR_GiveEgg_Esp" type="System.Byte[], mscorlib">
|
||||
<value>
|
||||
uEv3Rwgr2AO7AFr3RwgMJrVAgwAhtUAGALsBgfdHCCnYA7qM90cIalq97PdHCGZtMQIBMmwCalq9dPhH
|
||||
CGZtbAJ6rADNtUDStUD/IbVAAQC7Ac73RwghtUACALsB1PdHCCG1QAMAuwHa90cIIbVABAC7AeD3Rwgh
|
||||
tUAFALsB5vdHCAN7AQI5AAN7AgI5AAN7AwI5AAN7BAI5AAN7BQI5AAPB5tXX3dXnAOTj5gDp59XmANng
|
||||
AOfd5+jZ4dX+2NngAMy/wbvGyQDHw83Ov8zDyc3JrfvO2eLZ4ePnAOniAMy/wbvGyQDY2eAAvb/IzszJ
|
||||
/srJxRvHycjwAFLp4gDCz7/QyQDKycUbx8nIq/u96W/Y1eDjANfj4gDo1dfo4wDtANfV5t0p463/ytXm
|
||||
2dfZAOXp2QDo6QDZ5end5OMA2efoF/7X4+Hk4Nno46370OnZ4OrZANfp1eLY4wDY2d7Z5wDV4Nsn4gDK
|
||||
ycUbx8nI/tniANngAMq9rf8=
|
||||
</value>
|
||||
</data>
|
||||
<data name="ROM_FR_GiveEgg_Fre" type="System.Byte[], mscorlib">
|
||||
<value>
|
||||
uObvRwgr2AO7APXvRwgMJrVAgwAhtUAGALsBHPBHCCnYA7on8EcIalq9h/BHCGZtMQIBMmwCalq98/BH
|
||||
CGZtbAJ6rADNtUDStUD/IbVAAQC7AWnwRwghtUACALsBb/BHCCG1QAMAuwF18EcIIbVABAC7AXvwRwgh
|
||||
tUAFALsBgfBHCAN7AQI5AAN7AgI5AAN7AwI5AAN7BAI5AAN7BQI5AAPH2ebX3QDYtOno3eDd59nmAODZ
|
||||
AOft5+ga4dn+vbu+v7vPAMfTzc6t+8jj6ecA1erj4ucA6eIAyb/PwADk4+nmAOrj6eer+7/g2erZ7q7g
|
||||
2QDV6tnXANXh4+nmANno/tvZ4ujd4ODZ5+fZrf/J3LgA4LQb5end5NkA2efoAOTg2d3i2a37zNnq2eLZ
|
||||
7gDl6dXi2ADq4+nnANXp5tnuAObV4tsb/uniAMrJxRvHycgA2NXi5wDq4+jm2QDKva3/
|
||||
</value>
|
||||
</data>
|
||||
<data name="ROM_FR_GiveEgg_Ita" type="System.Byte[], mscorlib">
|
||||
<value>
|
||||
uH3JRwgr2AO7AIzJRwgMJrVAgwAhtUAGALsBs8lHCCnYA7q+yUcIalq9HspHCGZtMQIBMmwCalq9ospH
|
||||
CGZtbAJ6rADNtUDStUD/IbVAAQC7AQDKRwghtUACALsBBspHCCG1QAMAuwEMykcIIbVABAC7ARLKRwgh
|
||||
tUAFALsBGMpHCAN7AQI5AAN7AgI5AAN7AwI5AAN7BAI5AAN7BQI5AAPB5tXu3dkA5NnmAOnn1ebZAN3g
|
||||
AM3d5+jZ4dX+vsnIyQDNv8HMv87Jrfu71tbd1eHjAOniAObZ29Xg4wDk2eYA6NkA2NUA6eL+vb/IzszJ
|
||||
AMrJxRvHyci4AOniAM/J0MkAysnFG8fJyKv7zubV6OjV4OMA1+PiAOjV4ujjANXh4+bZq//I4+IA3NXd
|
||||
AOTdJgDk4+fo4wDi2eDg1QDo6dX+5+Xp1djm1a37zuPm4tUA1QDo5uPq1ebh3QDY4+TjANXq2eb+2Nnk
|
||||
4+fd6NXo4wDp4uMA4wDk3Sb6ysnFG8fJyADi2eAAyr2t/w==
|
||||
</value>
|
||||
</data>
|
||||
<data name="ROM_FR_GiveEgg_Jap" type="System.Byte[], mscorlib">
|
||||
<value>
|
||||
uEeWRAgr2AO7AFaWRAgMJrVAgwAhtUAGALsBfZZECCnYA7qIlkQIalq96JZECGZtMQIBMmwCalq9RpdE
|
||||
CGZtbAJ6rADNtUDStUD/IbVAAQC7AcqWRAghtUACALsB0JZECCG1QAMAuwHWlkQIIbVABAC7AdyWRAgh
|
||||
tUAFALsB4pZECAN7AQI5AAN7AgI5AAN7AwI5AAN7BAI5AAN7BQI5AAMcDDgVBQgoIxkALQA7KCYD/gIQ
|
||||
QQcAASg3FAMAOzwCHw2r+0UDQACfWXN+Xn5grgAGJ/4KGQCfWXN+GQAQHzst+p16j35kAAIQDB8Nq/tB
|
||||
Aj0WAA9BExP+CEELAqv/BSQAEyMRN/4CUEsCGQAmA0QNGPufWXN+LQCbX1p+FgABPgkTBif+IwMCEUUA
|
||||
BQoMCEELAv8=
|
||||
</value>
|
||||
</data>
|
||||
<data name="ROM_E_GiveEgg_Deu_4moves" type="System.Byte[], mscorlib">
|
||||
<value>
|
||||
AAAAALgEAAAIK+QBuwA7AAAIDCbdQIYAId1ABgC7AWMAAAgp5AG6bwAACGpavbgEAAAIK+QBuwBlAAAI
|
||||
DCbdQIYAId1ABgC7AY0AAAgp5AG6mQAACGpavUoBAAhmbTFyATJsAv8m3UCGACHdQAYAuwGNAAAIKeQB
|
||||
upkAAAhqWr1KAQAIZm0xcgEybAL/alq98wEACGZtbAL/eqwAzd1A0t1A/yHdQAEAuwHcAAAIId1AAgC7
|
||||
AfIAAAgh3UADALsBCAEACCHdQAQAuwEeAQAIId1ABQC7ATQBAAgD/3sBADcAewEBOAB7AQI5AHsBAzoA
|
||||
A/97AgA3AHsCATgAewICOQB7AgM6AAP/ewMANwB7AwE4AHsDAjkAewMDOgAD/3sEADcAewQBOAB7BAI5
|
||||
AHsEAzoAA/97BQA3AHsFATgAewUCOQB7BQM6AAP/vtXi39m4ANjV5+cA2OkA2NXnAMG/wr/Dx67+wb/N
|
||||
vcK/wr/IANbZ4uno7ugA3NXn6K37w+EAysnFG8fJyK69v8jOv8wA69Xm6Nno/tnd4gDB2efX3Nni3wDV
|
||||
6doA2N3X3K0Av93i+srJxRvHyciuv8Or+rzd6OjZAOjm1d3i3dnm2QDY1ecAysnFG8fJyPrh3egAxt3Z
|
||||
1tkA6eLYAM3j5tva1eDorf8A/8ncuADY6QDc1efoAN/Z3eLZ4gDK4NXo7gDd4gDY2d3i2eH+ztnV4av6
|
||||
vN3o6NkA3+Ph4dkA693Z2NnmuADi1dfc2NnhANjp+tnd4gDKycUbx8nIANXp2gDZ3eLZ4QDKvfrb2eDV
|
||||
29nm6ADc1eforf8A////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
/////////////////////////////////////////////////////w==
|
||||
</value>
|
||||
</data>
|
||||
<data name="ROM_E_GiveEgg_Deu_4moves_kill" type="System.Byte[], mscorlib">
|
||||
<value>
|
||||
AAAAALgEAAAIDCbdQIYAId1ABgC7AVQAAAi6YAAACGpavREBAAhmbTFyATJsDf8m3UCGACHdQAYAuwFU
|
||||
AAAIumAAAAhqWr0RAQAIZm0xcgEybA3/alq9ugEACGZtbAL/eqwAzd1A0t1A/yHdQAEAuwGjAAAIId1A
|
||||
AgC7AbkAAAgh3UADALsBzwAACCHdQAQAuwHlAAAIId1ABQC7AfsAAAgD/3sBADcAewEBOAB7AQI5AHsB
|
||||
AzoAA/97AgA3AHsCATgAewICOQB7AgM6AAP/ewMANwB7AwE4AHsDAjkAewMDOgAD/3sEADcAewQBOAB7
|
||||
BAI5AHsEAzoAA/97BQA3AHsFATgAewUCOQB7BQM6AAP/vtXi39m4ANjV5+cA2OkA2NXnAMG/wr/Dx67+
|
||||
wb/NvcK/wr/IANbZ4uno7ugA3NXn6K37w+EAysnFG8fJyK69v8jOv8wA69Xm6Nno/tnd4gDB2efX3Nni
|
||||
3wDV6doA2N3X3K0Av93i+srJxRvHyciuv8Or+rzd6OjZAOjm1d3i3dnm2QDY1ecAysnFG8fJyPrh3egA
|
||||
xt3Z1tkA6eLYAM3j5tva1eDorf8A/8ncuADY6QDc1efoAN/Z3eLZ4gDK4NXo7gDd4gDY2d3i2eH+ztnV
|
||||
4av6vN3o6NkA3+Ph4dkA693Z2NnmuADi1dfc2NnhANjp+tnd4gDKycUbx8nIANXp2gDZ3eLZ4QDKvfrb
|
||||
2eDV29nm6ADc1eforf8A////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
/////////////////////////////////////////////////////w==
|
||||
</value>
|
||||
</data>
|
||||
<data name="ROM_E_GiveEgg_Eng_4moves" type="System.Byte[], mscorlib">
|
||||
<value>
|
||||
AAAAALgEAAAIK+QBuwA7AAAIDCbdQIYAId1ABgC7AWMAAAgp5AG6bwAACGpavSABAAhmbTFyATJsAv8m
|
||||
3UCGACHdQAYAuwFjAAAIKeQBum8AAAhqWr0gAQAIZm0xcgEybAL/alq9rwEACGZtbAL/eqwAzd1A0t1A
|
||||
/yHdQAEAuwGyAAAIId1AAgC7AcgAAAgh3UADALsB3gAACCHdQAQAuwH0AAAIId1ABQC7AQoBAAgD/3sB
|
||||
ADcAewEBOAB7AQI5AHsBAzoAA/97AgA3AHsCATgAewICOQB7AgM6AAP/ewMANwB7AwE4AHsDAjkAewMD
|
||||
OgAD/3sEADcAewQBOAB7BAI5AHsEAzoAA/97BQA3AHsFATgAewUCOQB7BQM6AAP/ztzV4t8A7ePpANrj
|
||||
5gDp593i2wDo3NkAx9PNzr/M0/7Bw8DOAM3t5+jZ4a37wObj4QDo3NkAysnFG8fJyAC9v8jOv8wA69n+
|
||||
3NXq2QDVANvd2ugArgDVAMrJxRvHycgAv8HBq/vK4NnV59kA5tXd59kA3egA693o3ADg4+rZANXi2P7f
|
||||
3eLY4tnn563/AP/J3LgA7ePp5gDk1ebo7QDV5OTZ1ebnAOjjANbZANrp4OCt+8rg2dXn2QDX4+HZAOfZ
|
||||
2QDh2QDV2ujZ5gDn6OPm3eLb/tUAysnFG8fJyADj4gDVAMq9rf8A////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
/////////////////////////////////////////////////////w==
|
||||
</value>
|
||||
</data>
|
||||
<data name="ROM_E_GiveEgg_Eng_4moves_kill" type="System.Byte[], mscorlib">
|
||||
<value>
|
||||
AAAAALgEAAAIDCbdQIYAId1ABgC7AVQAAAi6YAAACGpavREBAAhmbTFyATJsDf8m3UCGACHdQAYAuwFU
|
||||
AAAIumAAAAhqWr0RAQAIZm0xcgEybA3/alq9mwEACGZtbAL/eqwAzd1A0t1A/yHdQAEAuwGjAAAIId1A
|
||||
AgC7AbkAAAgh3UADALsBzwAACCHdQAQAuwHlAAAIId1ABQC7AfsAAAgD/3sBADcAewEBOAB7AQI5AHsB
|
||||
AzoAA/97AgA3AHsCATgAewICOQB7AgM6AAP/ewMANwB7AwE4AHsDAjkAewMDOgAD/3sEADcAewQBOAB7
|
||||
BAI5AHsEAzoAA/97BQA3AHsFATgAewUCOQB7BQM6AAP/webV193V5wDk4+YA6efV5gDZ4ADn3efo2eHV
|
||||
/tjZ4ADMv8G7xskAx8PNzr/Mw8nNya37ztni2eHj5wDp4gDMv8G7xskA2NngAL2/yM7Myf7KycUbx8nI
|
||||
8ABS6eIAws+/0MkAysnFG8fJyKv7velv2NXg4wDX4+IA6NXX6OMA7QDX1ebdKeOt/wD/ytXm2dfZAOXp
|
||||
2QDo6QDZ5end5OMA2efoF/7X4+Hk4Nno46370OnZ4OrZANfp1eLY4wDY2d7Z5wDV4Nsn4gDKycUbx8nI
|
||||
/tniANngAMq9rf8AuAQAAAgMJt1AhgAh3UAGALsBPAIACLpIAgAIalq9+QIACGZtMXIBMmwN/ybdQIYA
|
||||
Id1ABgC7ATwCAAi6SAIACGpavfkCAAhmbTFyATJsDf9qWr2IAwAIZm1sAv96rADN3UDS3UD/Id1AAQC7
|
||||
AYsCAAgh3UACALsBoQIACCHdQAMAuwG3AgAIId1ABAC7Ac0CAAgh3UAFALsB4wIACAP/ewEANwB7AQE4
|
||||
AHsBAjkAewEDOgAD/3sCADcAewIBOAB7AgI5AHsCAzoAA/97AwA3AHsDATgAewMCOQB7AwM6AAP/ewQA
|
||||
NwB7BAE4AHsEAjkAewQDOgAD/3sFADcAewUBOAB7BQI5AHsFAzoAA//O3NXi3wDt4+kA2uPmAOnn3eLb
|
||||
AOjc2QDH083Ov8zT/sHDwM4Aze3n6NnhrfvA5uPhAOjc2QDKycUbx8nIAL2/yM6/zADr2f7c1erZANUA
|
||||
293a6ACuANUAysnFG8fJyAC/wcGr+8rg2dXn2QDm1d3n2QDd6ADr3ejcAODj6tkA1eLY/t/d4tji2efn
|
||||
rf8A/8ncuADt4+nmAOTV5ujtANXk5NnV5ucA6OMA1tkA2ung4K37yuDZ1efZANfj4dkA59nZAOHZANXa
|
||||
6NnmAOfo4+bd4tv+1QDKycUbx8nIAOPiANUAyr2t/wD//////////w==
|
||||
</value>
|
||||
</data>
|
||||
<data name="ROM_E_GiveEgg_Esp_4moves" type="System.Byte[], mscorlib">
|
||||
<value>
|
||||
AAAAALgEAAAIK+QBuwA7AAAIDCbdQIYAId1ABgC7AWMAAAgp5AG6bwAACGpavSABAAhmbTFyATJsAv8m
|
||||
3UCGACHdQAYAuwFjAAAIKeQBum8AAAhqWr0gAQAIZm0xcgEybAL/alq9qgEACGZtbAL/eqwAzd1A0t1A
|
||||
/yHdQAEAuwGyAAAIId1AAgC7AcgAAAgh3UADALsB3gAACCHdQAQAuwH0AAAIId1ABQC7AQoBAAgD/3sB
|
||||
ADcAewEBOAB7AQI5AHsBAzoAA/97AgA3AHsCATgAewICOQB7AgM6AAP/ewMANwB7AwE4AHsDAjkAewMD
|
||||
OgAD/3sEADcAewQBOAB7BAI5AHsEAzoAA/97BQA3AHsFATgAewUCOQB7BQM6AAP/webV193V5wDk4+YA
|
||||
6efV5gDZ4ADn3efo2eHV/tjZ4ADMv8G7xskAx8PNzr/Mw8nNya37ztni2eHj5wDp4gDMv8G7xskA2Nng
|
||||
AL2/yM7Myf7KycUbx8nI8ABS6eIAws+/0MkAysnFG8fJyKv7velv2NXg4wDX4+IA6NXX6OMA7QDX1ebd
|
||||
KeOt/wD/ytXm2dfZAOXp2QDo6QDZ5end5OMA2efoF/7X4+Hk4Nno46370OnZ4OrZANfp1eLY4wDY2d7Z
|
||||
5wDV4Nsn4gDKycUbx8nI/tniANngAMq9rf8A////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
/////////////////////////////////////////////////////w==
|
||||
</value>
|
||||
</data>
|
||||
<data name="ROM_E_GiveEgg_Esp_4moves_kill" type="System.Byte[], mscorlib">
|
||||
<value>
|
||||
AAAAALgEAAAIDCbdQIYAId1ABgC7AVQAAAi6YAAACGpavREBAAhmbTFyATJsDf8m3UCGACHdQAYAuwFU
|
||||
AAAIumAAAAhqWr0RAQAIZm0xcgEybA3/alq9mwEACGZtbAL/eqwAzd1A0t1A/yHdQAEAuwGjAAAIId1A
|
||||
AgC7AbkAAAgh3UADALsBzwAACCHdQAQAuwHlAAAIId1ABQC7AfsAAAgD/3sBADcAewEBOAB7AQI5AHsB
|
||||
AzoAA/97AgA3AHsCATgAewICOQB7AgM6AAP/ewMANwB7AwE4AHsDAjkAewMDOgAD/3sEADcAewQBOAB7
|
||||
BAI5AHsEAzoAA/97BQA3AHsFATgAewUCOQB7BQM6AAP/webV193V5wDk4+YA6efV5gDZ4ADn3efo2eHV
|
||||
/tjZ4ADMv8G7xskAx8PNzr/Mw8nNya37ztni2eHj5wDp4gDMv8G7xskA2NngAL2/yM7Myf7KycUbx8nI
|
||||
8ABS6eIAws+/0MkAysnFG8fJyKv7velv2NXg4wDX4+IA6NXX6OMA7QDX1ebdKeOt/wD/ytXm2dfZAOXp
|
||||
2QDo6QDZ5end5OMA2efoF/7X4+Hk4Nno46370OnZ4OrZANfp1eLY4wDY2d7Z5wDV4Nsn4gDKycUbx8nI
|
||||
/tniANngAMq9rf8A////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
/////////////////////////////////////////////////////w==
|
||||
</value>
|
||||
</data>
|
||||
<data name="ROM_E_GiveEgg_Fre_4moves" type="System.Byte[], mscorlib">
|
||||
<value>
|
||||
AAAAALgEAAAIK+QBuwA7AAAIDCbdQIYAId1ABgC7AWMAAAgp5AG6bwAACGpavSABAAhmbTFyATJsAv8m
|
||||
3UCGACHdQAYAuwFjAAAIKeQBum8AAAhqWr0gAQAIZm0xcgEybAL/alq9jgEACGZtbAL/eqwAzd1A0t1A
|
||||
/yHdQAEAuwGyAAAIId1AAgC7AcgAAAgh3UADALsB3gAACCHdQAQAuwH0AAAIId1ABQC7AQoBAAgD/3sB
|
||||
ADcAewEBOAB7AQI5AHsBAzoAA/97AgA3AHsCATgAewICOQB7AgM6AAP/ewMANwB7AwE4AHsDAjkAewMD
|
||||
OgAD/3sEADcAewQBOAB7BAI5AHsEAzoAA/97BQA3AHsFATgAewUCOQB7BQM6AAP/x9nm190A2LTp6N3g
|
||||
3efZ5gDg2QDn7efoGuHZ/r27vr+7zwDH083OrfvI4+nnANXq4+LnAOniAMm/z8AA5OPp5gDq4+nnq/u/
|
||||
4Nnq2e6u4NkA1erZ1wDV4ePp5gDZ6P7b2eLo3eDg2efn2a3/AP/J3LgA4LQb5end5NkA2efoAOTg2d3i
|
||||
2a37zNnq2eLZ7gDl6dXi2ADq4+nnANXp5tnuAObV4tsb/uniAMrJxRvHycgA2NXi5wDq4+jm2QDKva3/
|
||||
AP//////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
/////////////////////////////////////////////////////w==
|
||||
</value>
|
||||
</data>
|
||||
<data name="ROM_E_GiveEgg_Fre_4moves_kill" type="System.Byte[], mscorlib">
|
||||
<value>
|
||||
AAAAALgEAAAIDCbdQIYAId1ABgC7AVQAAAi6YAAACGpavREBAAhmbTFyATJsDf8m3UCGACHdQAYAuwFU
|
||||
AAAIumAAAAhqWr0RAQAIZm0xcgEybA3/alq9fwEACGZtbAL/eqwAzd1A0t1A/yHdQAEAuwGjAAAIId1A
|
||||
AgC7AbkAAAgh3UADALsBzwAACCHdQAQAuwHlAAAIId1ABQC7AfsAAAgD/3sBADcAewEBOAB7AQI5AHsB
|
||||
AzoAA/97AgA3AHsCATgAewICOQB7AgM6AAP/ewMANwB7AwE4AHsDAjkAewMDOgAD/3sEADcAewQBOAB7
|
||||
BAI5AHsEAzoAA/97BQA3AHsFATgAewUCOQB7BQM6AAP/x9nm190A2LTp6N3g3efZ5gDg2QDn7efoGuHZ
|
||||
/r27vr+7zwDH083OrfvI4+nnANXq4+LnAOniAMm/z8AA5OPp5gDq4+nnq/u/4Nnq2e6u4NkA1erZ1wDV
|
||||
4ePp5gDZ6P7b2eLo3eDg2efn2a3/AP/J3LgA4LQb5end5NkA2efoAOTg2d3i2a37zNnq2eLZ7gDl6dXi
|
||||
2ADq4+nnANXp5tnuAObV4tsb/uniAMrJxRvHycgA2NXi5wDq4+jm2QDKva3/AP//////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
/////////////////////////////////////////////////////w==
|
||||
</value>
|
||||
</data>
|
||||
<data name="ROM_E_GiveEgg_Ita_4moves" type="System.Byte[], mscorlib">
|
||||
<value>
|
||||
AAAAALgEAAAIK+QBuwA7AAAIDCbdQIYAId1ABgC7AWMAAAgp5AG6bwAACGpavSABAAhmbTFyATJsAv8m
|
||||
3UCGACHdQAYAuwFjAAAIKeQBum8AAAhqWr0gAQAIZm0xcgEybAL/alq9pgEACGZtbAL/eqwAzd1A0t1A
|
||||
/yHdQAEAuwGyAAAIId1AAgC7AcgAAAgh3UADALsB3gAACCHdQAQAuwH0AAAIId1ABQC7AQoBAAgD/3sB
|
||||
ADcAewEBOAB7AQI5AHsBAzoAA/97AgA3AHsCATgAewICOQB7AgM6AAP/ewMANwB7AwE4AHsDAjkAewMD
|
||||
OgAD/3sEADcAewQBOAB7BAI5AHsEAzoAA/97BQA3AHsFATgAewUCOQB7BQM6AAP/webV7t3ZAOTZ5gDp
|
||||
59Xm2QDd4ADN3efo2eHV/r7JyMkAzb/BzL/Oya37u9bW3dXh4wDp4gDm2dvV4OMA5NnmAOjZANjVAOni
|
||||
/r2/yM7MyQDKycUbx8nIuADp4gDPydDJAMrJxRvHycir+87m1ejo1eDjANfj4gDo1eLo4wDV4ePm2av/
|
||||
AP/I4+IA3NXdAOTdJgDk4+fo4wDi2eDg1QDo6dX+5+Xp1djm1a37zuPm4tUA1QDo5uPq1ebh3QDY4+Tj
|
||||
ANXq2eb+2Nnk4+fd6NXo4wDp4uMA4wDk3Sb6ysnFG8fJyADi2eAAyr2t/wD/////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
/////////////////////////////////////////////////////w==
|
||||
</value>
|
||||
</data>
|
||||
<data name="ROM_E_GiveEgg_Ita_4moves_kill" type="System.Byte[], mscorlib">
|
||||
<value>
|
||||
AAAAALgEAAAIDCbdQIYAId1ABgC7AVQAAAi6YAAACGpavREBAAhmbTFyATJsDf8m3UCGACHdQAYAuwFU
|
||||
AAAIumAAAAhqWr0RAQAIZm0xcgEybA3/alq9lwEACGZtbAL/eqwAzd1A0t1A/yHdQAEAuwGjAAAIId1A
|
||||
AgC7AbkAAAgh3UADALsBzwAACCHdQAQAuwHlAAAIId1ABQC7AfsAAAgD/3sBADcAewEBOAB7AQI5AHsB
|
||||
AzoAA/97AgA3AHsCATgAewICOQB7AgM6AAP/ewMANwB7AwE4AHsDAjkAewMDOgAD/3sEADcAewQBOAB7
|
||||
BAI5AHsEAzoAA/97BQA3AHsFATgAewUCOQB7BQM6AAP/webV7t3ZAOTZ5gDp59Xm2QDd4ADN3efo2eHV
|
||||
/r7JyMkAzb/BzL/Oya37u9bW3dXh4wDp4gDm2dvV4OMA5NnmAOjZANjVAOni/r2/yM7MyQDKycUbx8nI
|
||||
uADp4gDPydDJAMrJxRvHycir+87m1ejo1eDjANfj4gDo1eLo4wDV4ePm2av/AP/I4+IA3NXdAOTdJgDk
|
||||
4+fo4wDi2eDg1QDo6dX+5+Xp1djm1a37zuPm4tUA1QDo5uPq1ebh3QDY4+TjANXq2eb+2Nnk4+fd6NXo
|
||||
4wDp4uMA4wDk3Sb6ysnFG8fJyADi2eAAyr2t/wD/////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
/////////////////////////////////////////////////////w==
|
||||
</value>
|
||||
</data>
|
||||
<data name="ROM_E_GiveEgg_Jap_4moves" type="System.Byte[], mscorlib">
|
||||
<value>
|
||||
AAAAALgEAAAIK+QBuwA7AAAIDCbdQIYAId1ABgC7AWMAAAgp5AG6bwAACGpavSABAAhmbTFyATJsAv8m
|
||||
3UCGACHdQAYAuwFjAAAIKeQBum8AAAhqWr0gAQAIZm0xcgEybAL/alq9pgEACGZtbAL/eqwAzd1A0t1A
|
||||
/yHdQAEAuwGyAAAIId1AAgC7AcgAAAgh3UADALsB3gAACCHdQAQAuwH0AAAIId1ABQC7AQoBAAgD/3sB
|
||||
ADcAewEBOAB7AQI5AHsBAzoAA/97AgA3AHsCATgAewICOQB7AgM6AAP/ewMANwB7AwE4AHsDAjkAewMD
|
||||
OgAD/3sEADcAewQBOAB7BAI5AHsEAzoAA/97BQA3AHsFATgAewUCOQB7BQM6AAP/HAw4FQUIKCMZAC0A
|
||||
OygmA/4CEEEHAAEoNxQDADs8Ah8Nq/tFA0AAn1lzfl5+YK4ABif+ChkAn1lzfhkAEB87Lfqdeo9+ZAAC
|
||||
EAwfDav7QQI9FgAPQRMT/ghBCwKr/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAFJAATIxE3/gJQSwIZACYDRA0Y+59Zc34tAJtfWn4WAAE+CRMGJ/4jAwIRRQAFCgwIQQsC/wAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
/////////////////////////////////////////////////////w==
|
||||
</value>
|
||||
</data>
|
||||
<data name="ROM_E_GiveEgg_Jap_4moves_kill" type="System.Byte[], mscorlib">
|
||||
<value>
|
||||
AAAAALgEAAAIDCbdQIYAId1ABgC7AVQAAAi6YAAACGpavREBAAhmbTFyATJsDf8m3UCGACHdQAYAuwFU
|
||||
AAAIumAAAAhqWr0RAQAIZm0xcgEybA3/alq9lwEACGZtbAL/eqwAzd1A0t1A/yHdQAEAuwGjAAAIId1A
|
||||
AgC7AbkAAAgh3UADALsBzwAACCHdQAQAuwHlAAAIId1ABQC7AfsAAAgD/3sBADcAewEBOAB7AQI5AHsB
|
||||
AzoAA/97AgA3AHsCATgAewICOQB7AgM6AAP/ewMANwB7AwE4AHsDAjkAewMDOgAD/3sEADcAewQBOAB7
|
||||
BAI5AHsEAzoAA/97BQA3AHsFATgAewUCOQB7BQM6AAP/HAw4FQUIKCMZAC0AOygmA/4CEEEHAAEoNxQD
|
||||
ADs8Ah8Nq/tFA0AAn1lzfl5+YK4ABif+ChkAn1lzfhkAEB87Lfqdeo9+ZAACEAwfDav7QQI9FgAPQRMT
|
||||
/ghBCwKr/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFJAATIxE3/gJQSwIZ
|
||||
ACYDRA0Y+59Zc34tAJtfWn4WAAE+CRMGJ/4jAwIRRQAFCgwIQQsC/wAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
/////////////////////////////////////////////////////w==
|
||||
</value>
|
||||
</data>
|
||||
<data name="ROM_FR_GiveEgg_Deu_4moves" type="System.Byte[], mscorlib">
|
||||
<value>
|
||||
AAAAALgEAAAIK9gDuwA7AAAIDCa1QIMAIbVABgC7AWMAAAgp2AO6bwAACGpavSABAAhmbTECATJsAv8m
|
||||
tUCDACG1QAYAuwFjAAAIKdgDum8AAAhqWr0gAQAIZm0xAgEybAL/alq9yQEACGZtbAL/eqwAzbVA0rVA
|
||||
/yG1QAEAuwGyAAAIIbVAAgC7AcgAAAghtUADALsB3gAACCG1QAQAuwH0AAAIIbVABQC7AQoBAAgD/3sB
|
||||
ADcAewEBOAB7AQI5AHsBAzoAA/97AgA3AHsCATgAewICOQB7AgM6AAP/ewMANwB7AwE4AHsDAjkAewMD
|
||||
OgAD/3sEADcAewQBOAB7BAI5AHsEAzoAA/97BQA3AHsFATgAewUCOQB7BQM6AAP/vtXi39m4ANjV5+cA
|
||||
2OkA2NXnAMG/wr/Dx67+wb/NvcK/wr/IANbZ4uno7ugA3NXn6K37w+EAysnFG8fJyK69v8jOv8wA69Xm
|
||||
6Nno/tnd4gDB2efX3Nni3wDV6doA2N3X3K0Av93i+srJxRvHyciuv8Or+rzd6OjZAOjm1d3i3dnm2QDY
|
||||
1ecAysnFG8fJyPrh3egAxt3Z1tkA6eLYAM3j5tva1eDorf8A/8ncuADY6QDc1efoAN/Z3eLZ4gDK4NXo
|
||||
7gDd4gDY2d3i2eH+ztnV4av6vN3o6NkA3+Ph4dkA693Z2NnmuADi1dfc2NnhANjp+tnd4gDKycUbx8nI
|
||||
ANXp2gDZ3eLZ4QDKvfrb2eDV29nm6ADc1eforf8A////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
/////////////////////////////////////////////////////w==
|
||||
</value>
|
||||
</data>
|
||||
<data name="ROM_FR_GiveEgg_Deu_4moves_kill" type="System.Byte[], mscorlib">
|
||||
<value>
|
||||
AAAAALgEAAAIDCa1QIMAIbVABgC7AVQAAAi6YAAACGpavREBAAhmbTECATJsDf8mtUCDACG1QAYAuwFU
|
||||
AAAIumAAAAhqWr0RAQAIZm0xAgEybA3/alq9ugEACGZtbAL/eqwAzbVA0rVA/yG1QAEAuwGjAAAIIbVA
|
||||
AgC7AbkAAAghtUADALsBzwAACCG1QAQAuwHlAAAIIbVABQC7AfsAAAgD/3sBADcAewEBOAB7AQI5AHsB
|
||||
AzoAA/97AgA3AHsCATgAewICOQB7AgM6AAP/ewMANwB7AwE4AHsDAjkAewMDOgAD/3sEADcAewQBOAB7
|
||||
BAI5AHsEAzoAA/97BQA3AHsFATgAewUCOQB7BQM6AAP/vtXi39m4ANjV5+cA2OkA2NXnAMG/wr/Dx67+
|
||||
wb/NvcK/wr/IANbZ4uno7ugA3NXn6K37w+EAysnFG8fJyK69v8jOv8wA69Xm6Nno/tnd4gDB2efX3Nni
|
||||
3wDV6doA2N3X3K0Av93i+srJxRvHyciuv8Or+rzd6OjZAOjm1d3i3dnm2QDY1ecAysnFG8fJyPrh3egA
|
||||
xt3Z1tkA6eLYAM3j5tva1eDorf8A/8ncuADY6QDc1efoAN/Z3eLZ4gDK4NXo7gDd4gDY2d3i2eH+ztnV
|
||||
4av6vN3o6NkA3+Ph4dkA693Z2NnmuADi1dfc2NnhANjp+tnd4gDKycUbx8nIANXp2gDZ3eLZ4QDKvfrb
|
||||
2eDV29nm6ADc1eforf8A////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
/////////////////////////////////////////////////////w==
|
||||
</value>
|
||||
</data>
|
||||
<data name="ROM_FR_GiveEgg_Eng_4moves" type="System.Byte[], mscorlib">
|
||||
<value>
|
||||
AAAAALgEAAAIK9gDuwA7AAAIDCa1QIMAIbVABgC7AWMAAAgp2AO6bwAACGpavSABAAhmbTECATJsAv8m
|
||||
tUCDACG1QAYAuwFjAAAIKdgDum8AAAhqWr0gAQAIZm0xAgEybAL/alq9rwEACGZtbAL/eqwAzbVA0rVA
|
||||
/yG1QAEAuwGyAAAIIbVAAgC7AcgAAAghtUADALsB3gAACCG1QAQAuwH0AAAIIbVABQC7AQoBAAgD/3sB
|
||||
ADcAewEBOAB7AQI5AHsBAzoAA/97AgA3AHsCATgAewICOQB7AgM6AAP/ewMANwB7AwE4AHsDAjkAewMD
|
||||
OgAD/3sEADcAewQBOAB7BAI5AHsEAzoAA/97BQA3AHsFATgAewUCOQB7BQM6AAP/ztzV4t8A7ePpANrj
|
||||
5gDp593i2wDo3NkAx9PNzr/M0/7Bw8DOAM3t5+jZ4a37wObj4QDo3NkAysnFG8fJyAC9v8jOv8wA69n+
|
||||
3NXq2QDVANvd2ugArgDVAMrJxRvHycgAv8HBq/vK4NnV59kA5tXd59kA3egA693o3ADg4+rZANXi2P7f
|
||||
3eLY4tnn563/AP/J3LgA7ePp5gDk1ebo7QDV5OTZ1ebnAOjjANbZANrp4OCt+8rg2dXn2QDX4+HZAOfZ
|
||||
2QDh2QDV2ujZ5gDn6OPm3eLb/tUAysnFG8fJyADj4gDVAMq9rf8A////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
/////////////////////////////////////////////////////w==
|
||||
</value>
|
||||
</data>
|
||||
<data name="ROM_FR_GiveEgg_Eng_4moves_kill" type="System.Byte[], mscorlib">
|
||||
<value>
|
||||
AAAAALgEAAAIDCa1QIMAIbVABgC7AVQAAAi6YAAACGpavREBAAhmbTECATJsDf8mtUCDACG1QAYAuwFU
|
||||
AAAIumAAAAhqWr0RAQAIZm0xAgEybA3/alq9oAEACGZtbAL/eqwAzbVA0rVA/yG1QAEAuwGjAAAIIbVA
|
||||
AgC7AbkAAAghtUADALsBzwAACCG1QAQAuwHlAAAIIbVABQC7AfsAAAgD/3sBADcAewEBOAB7AQI5AHsB
|
||||
AzoAA/97AgA3AHsCATgAewICOQB7AgM6AAP/ewMANwB7AwE4AHsDAjkAewMDOgAD/3sEADcAewQBOAB7
|
||||
BAI5AHsEAzoAA/97BQA3AHsFATgAewUCOQB7BQM6AAP/ztzV4t8A7ePpANrj5gDp593i2wDo3NkAx9PN
|
||||
zr/M0/7Bw8DOAM3t5+jZ4a37wObj4QDo3NkAysnFG8fJyAC9v8jOv8wA69n+3NXq2QDVANvd2ugArgDV
|
||||
AMrJxRvHycgAv8HBq/vK4NnV59kA5tXd59kA3egA693o3ADg4+rZANXi2P7f3eLY4tnn563/AP/J3LgA
|
||||
7ePp5gDk1ebo7QDV5OTZ1ebnAOjjANbZANrp4OCt+8rg2dXn2QDX4+HZAOfZ2QDh2QDV2ujZ5gDn6OPm
|
||||
3eLb/tUAysnFG8fJyADj4gDVAMq9rf8A////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
/////////////////////////////////////////////////////w==
|
||||
</value>
|
||||
</data>
|
||||
<data name="ROM_FR_GiveEgg_Esp_4moves" type="System.Byte[], mscorlib">
|
||||
<value>
|
||||
AAAAALgEAAAIK9gDuwA7AAAIDCa1QIMAIbVABgC7AWMAAAgp2AO6bwAACGpavSABAAhmbTECATJsAv8m
|
||||
tUCDACG1QAYAuwFjAAAIKdgDum8AAAhqWr0gAQAIZm0xAgEybAL/alq9qgEACGZtbAL/eqwAzbVA0rVA
|
||||
/yG1QAEAuwGyAAAIIbVAAgC7AcgAAAghtUADALsB3gAACCG1QAQAuwH0AAAIIbVABQC7AQoBAAgD/3sB
|
||||
ADcAewEBOAB7AQI5AHsBAzoAA/97AgA3AHsCATgAewICOQB7AgM6AAP/ewMANwB7AwE4AHsDAjkAewMD
|
||||
OgAD/3sEADcAewQBOAB7BAI5AHsEAzoAA/97BQA3AHsFATgAewUCOQB7BQM6AAP/webV193V5wDk4+YA
|
||||
6efV5gDZ4ADn3efo2eHV/tjZ4ADMv8G7xskAx8PNzr/Mw8nNya37ztni2eHj5wDp4gDMv8G7xskA2Nng
|
||||
AL2/yM7Myf7KycUbx8nI8ABS6eIAws+/0MkAysnFG8fJyKv7velv2NXg4wDX4+IA6NXX6OMA7QDX1ebd
|
||||
KeOt/wD/ytXm2dfZAOXp2QDo6QDZ5end5OMA2efoF/7X4+Hk4Nno46370OnZ4OrZANfp1eLY4wDY2d7Z
|
||||
5wDV4Nsn4gDKycUbx8nI/tniANngAMq9rf8A////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
/////////////////////////////////////////////////////w==
|
||||
</value>
|
||||
</data>
|
||||
<data name="ROM_FR_GiveEgg_Esp_4moves_kill" type="System.Byte[], mscorlib">
|
||||
<value>
|
||||
AAAAALgEAAAIDCa1QIMAIbVABgC7AVQAAAi6YAAACGpavREBAAhmbTECATJsDf8mtUCDACG1QAYAuwFU
|
||||
AAAIumAAAAhqWr0RAQAIZm0xAgEybA3/alq9mwEACGZtbAL/eqwAzbVA0rVA/yG1QAEAuwGjAAAIIbVA
|
||||
AgC7AbkAAAghtUADALsBzwAACCG1QAQAuwHlAAAIIbVABQC7AfsAAAgD/3sBADcAewEBOAB7AQI5AHsB
|
||||
AzoAA/97AgA3AHsCATgAewICOQB7AgM6AAP/ewMANwB7AwE4AHsDAjkAewMDOgAD/3sEADcAewQBOAB7
|
||||
BAI5AHsEAzoAA/97BQA3AHsFATgAewUCOQB7BQM6AAP/webV193V5wDk4+YA6efV5gDZ4ADn3efo2eHV
|
||||
/tjZ4ADMv8G7xskAx8PNzr/Mw8nNya37ztni2eHj5wDp4gDMv8G7xskA2NngAL2/yM7Myf7KycUbx8nI
|
||||
8ABS6eIAws+/0MkAysnFG8fJyKv7velv2NXg4wDX4+IA6NXX6OMA7QDX1ebdKeOt/wD/ytXm2dfZAOXp
|
||||
2QDo6QDZ5end5OMA2efoF/7X4+Hk4Nno46370OnZ4OrZANfp1eLY4wDY2d7Z5wDV4Nsn4gDKycUbx8nI
|
||||
/tniANngAMq9rf8A////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
/////////////////////////////////////////////////////w==
|
||||
</value>
|
||||
</data>
|
||||
<data name="ROM_FR_GiveEgg_Fre_4moves" type="System.Byte[], mscorlib">
|
||||
<value>
|
||||
AAAAALgEAAAIK9gDuwA7AAAIDCa1QIMAIbVABgC7AWMAAAgp2AO6bwAACGpavSABAAhmbTECATJsAv8m
|
||||
tUCDACG1QAYAuwFjAAAIKdgDum8AAAhqWr0gAQAIZm0xAgEybAL/alq9jgEACGZtbAL/eqwAzbVA0rVA
|
||||
/yG1QAEAuwGyAAAIIbVAAgC7AcgAAAghtUADALsB3gAACCG1QAQAuwH0AAAIIbVABQC7AQoBAAgD/3sB
|
||||
ADcAewEBOAB7AQI5AHsBAzoAA/97AgA3AHsCATgAewICOQB7AgM6AAP/ewMANwB7AwE4AHsDAjkAewMD
|
||||
OgAD/3sEADcAewQBOAB7BAI5AHsEAzoAA/97BQA3AHsFATgAewUCOQB7BQM6AAP/x9nm190A2LTp6N3g
|
||||
3efZ5gDg2QDn7efoGuHZ/r27vr+7zwDH083OrfvI4+nnANXq4+LnAOniAMm/z8AA5OPp5gDq4+nnq/u/
|
||||
4Nnq2e6u4NkA1erZ1wDV4ePp5gDZ6P7b2eLo3eDg2efn2a3/AP/J3LgA4LQb5end5NkA2efoAOTg2d3i
|
||||
2a37zNnq2eLZ7gDl6dXi2ADq4+nnANXp5tnuAObV4tsb/uniAMrJxRvHycgA2NXi5wDq4+jm2QDKva3/
|
||||
AP//////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
/////////////////////////////////////////////////////w==
|
||||
</value>
|
||||
</data>
|
||||
<data name="ROM_FR_GiveEgg_Fre_4moves_kill" type="System.Byte[], mscorlib">
|
||||
<value>
|
||||
AAAAALgEAAAIDCa1QIMAIbVABgC7AVQAAAi6YAAACGpavREBAAhmbTECATJsDf8mtUCDACG1QAYAuwFU
|
||||
AAAIumAAAAhqWr0RAQAIZm0xAgEybA3/alq9fwEACGZtbAL/eqwAzbVA0rVA/yG1QAEAuwGjAAAIIbVA
|
||||
AgC7AbkAAAghtUADALsBzwAACCG1QAQAuwHlAAAIIbVABQC7AfsAAAgD/3sBADcAewEBOAB7AQI5AHsB
|
||||
AzoAA/97AgA3AHsCATgAewICOQB7AgM6AAP/ewMANwB7AwE4AHsDAjkAewMDOgAD/3sEADcAewQBOAB7
|
||||
BAI5AHsEAzoAA/97BQA3AHsFATgAewUCOQB7BQM6AAP/x9nm190A2LTp6N3g3efZ5gDg2QDn7efoGuHZ
|
||||
/r27vr+7zwDH083OrfvI4+nnANXq4+LnAOniAMm/z8AA5OPp5gDq4+nnq/u/4Nnq2e6u4NkA1erZ1wDV
|
||||
4ePp5gDZ6P7b2eLo3eDg2efn2a3/AP/J3LgA4LQb5end5NkA2efoAOTg2d3i2a37zNnq2eLZ7gDl6dXi
|
||||
2ADq4+nnANXp5tnuAObV4tsb/uniAMrJxRvHycgA2NXi5wDq4+jm2QDKva3/AP//////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
/////////////////////////////////////////////////////w==
|
||||
</value>
|
||||
</data>
|
||||
<data name="ROM_FR_GiveEgg_Ita_4moves" type="System.Byte[], mscorlib">
|
||||
<value>
|
||||
AAAAALgEAAAIK9gDuwA7AAAIDCa1QIMAIbVABgC7AWMAAAgp2AO6bwAACGpavSABAAhmbTECATJsAv8m
|
||||
tUCDACG1QAYAuwFjAAAIKdgDum8AAAhqWr0gAQAIZm0xAgEybAL/alq9pgEACGZtbAL/eqwAzbVA0rVA
|
||||
/yG1QAEAuwGyAAAIIbVAAgC7AcgAAAghtUADALsB3gAACCG1QAQAuwH0AAAIIbVABQC7AQoBAAgD/3sB
|
||||
ADcAewEBOAB7AQI5AHsBAzoAA/97AgA3AHsCATgAewICOQB7AgM6AAP/ewMANwB7AwE4AHsDAjkAewMD
|
||||
OgAD/3sEADcAewQBOAB7BAI5AHsEAzoAA/97BQA3AHsFATgAewUCOQB7BQM6AAP/webV7t3ZAOTZ5gDp
|
||||
59Xm2QDd4ADN3efo2eHV/r7JyMkAzb/BzL/Oya37u9bW3dXh4wDp4gDm2dvV4OMA5NnmAOjZANjVAOni
|
||||
/r2/yM7MyQDKycUbx8nIuADp4gDPydDJAMrJxRvHycir+87m1ejo1eDjANfj4gDo1eLo4wDV4ePm2av/
|
||||
AP/I4+IA3NXdAOTdJgDk4+fo4wDi2eDg1QDo6dX+5+Xp1djm1a37zuPm4tUA1QDo5uPq1ebh3QDY4+Tj
|
||||
ANXq2eb+2Nnk4+fd6NXo4wDp4uMA4wDk3Sb6ysnFG8fJyADi2eAAyr2t/wD/////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
/////////////////////////////////////////////////////w==
|
||||
</value>
|
||||
</data>
|
||||
<data name="ROM_FR_GiveEgg_Ita_4moves_kill" type="System.Byte[], mscorlib">
|
||||
<value>
|
||||
AAAAALgEAAAIDCa1QIMAIbVABgC7AVQAAAi6YAAACGpavREBAAhmbTECATJsDf8mtUCDACG1QAYAuwFU
|
||||
AAAIumAAAAhqWr0RAQAIZm0xAgEybA3/alq9lwEACGZtbAL/eqwAzbVA0rVA/yG1QAEAuwGjAAAIIbVA
|
||||
AgC7AbkAAAghtUADALsBzwAACCG1QAQAuwHlAAAIIbVABQC7AfsAAAgD/3sBADcAewEBOAB7AQI5AHsB
|
||||
AzoAA/97AgA3AHsCATgAewICOQB7AgM6AAP/ewMANwB7AwE4AHsDAjkAewMDOgAD/3sEADcAewQBOAB7
|
||||
BAI5AHsEAzoAA/97BQA3AHsFATgAewUCOQB7BQM6AAP/webV7t3ZAOTZ5gDp59Xm2QDd4ADN3efo2eHV
|
||||
/r7JyMkAzb/BzL/Oya37u9bW3dXh4wDp4gDm2dvV4OMA5NnmAOjZANjVAOni/r2/yM7MyQDKycUbx8nI
|
||||
uADp4gDPydDJAMrJxRvHycir+87m1ejo1eDjANfj4gDo1eLo4wDV4ePm2av/AP/I4+IA3NXdAOTdJgDk
|
||||
4+fo4wDi2eDg1QDo6dX+5+Xp1djm1a37zuPm4tUA1QDo5uPq1ebh3QDY4+TjANXq2eb+2Nnk4+fd6NXo
|
||||
4wDp4uMA4wDk3Sb6ysnFG8fJyADi2eAAyr2t/wD/////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
/////////////////////////////////////////////////////w==
|
||||
</value>
|
||||
</data>
|
||||
<data name="ROM_FR_GiveEgg_Jap_4moves" type="System.Byte[], mscorlib">
|
||||
<value>
|
||||
AAAAALgEAAAIK9gDuwA7AAAIDCa1QIMAIbVABgC7AWMAAAgp2AO6bwAACGpavSABAAhmbTECATJsAv8m
|
||||
tUCDACG1QAYAuwFjAAAIKdgDum8AAAhqWr0gAQAIZm0xAgEybAL/alq9pgEACGZtbAL/eqwAzbVA0rVA
|
||||
/yG1QAEAuwGyAAAIIbVAAgC7AcgAAAghtUADALsB3gAACCG1QAQAuwH0AAAIIbVABQC7AQoBAAgD/3sB
|
||||
ADcAewEBOAB7AQI5AHsBAzoAA/97AgA3AHsCATgAewICOQB7AgM6AAP/ewMANwB7AwE4AHsDAjkAewMD
|
||||
OgAD/3sEADcAewQBOAB7BAI5AHsEAzoAA/97BQA3AHsFATgAewUCOQB7BQM6AAP/HAw4FQUIKCMZAC0A
|
||||
OygmA/4CEEEHAAEoNxQDADs8Ah8Nq/tFA0AAn1lzfl5+YK4ABif+ChkAn1lzfhkAEB87Lfqdeo9+ZAAC
|
||||
EAwfDav7QQI9FgAPQRMT/ghBCwKr/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAFJAATIxE3/gJQSwIZACYDRA0Y+59Zc34tAJtfWn4WAAE+CRMGJ/4jAwIRRQAFCgwIQQsC/wAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
/////////////////////////////////////////////////////w==
|
||||
</value>
|
||||
</data>
|
||||
<data name="ROM_FR_GiveEgg_Jap_4moves_kill" type="System.Byte[], mscorlib">
|
||||
<value>
|
||||
AAAAALgEAAAIDCa1QIMAIbVABgC7AVQAAAi6YAAACGpavREBAAhmbTECATJsDf8mtUCDACG1QAYAuwFU
|
||||
AAAIumAAAAhqWr0RAQAIZm0xAgEybA3/alq9lwEACGZtbAL/eqwAzbVA0rVA/yG1QAEAuwGjAAAIIbVA
|
||||
AgC7AbkAAAghtUADALsBzwAACCG1QAQAuwHlAAAIIbVABQC7AfsAAAgD/3sBADcAewEBOAB7AQI5AHsB
|
||||
AzoAA/97AgA3AHsCATgAewICOQB7AgM6AAP/ewMANwB7AwE4AHsDAjkAewMDOgAD/3sEADcAewQBOAB7
|
||||
BAI5AHsEAzoAA/97BQA3AHsFATgAewUCOQB7BQM6AAP/HAw4FQUIKCMZAC0AOygmA/4CEEEHAAEoNxQD
|
||||
ADs8Ah8Nq/tFA0AAn1lzfl5+YK4ABif+ChkAn1lzfhkAEB87Lfqdeo9+ZAACEAwfDav7QQI9FgAPQRMT
|
||||
/ghBCwKr/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFJAATIxE3/gJQSwIZ
|
||||
ACYDRA0Y+59Zc34tAJtfWn4WAAE+CRMGJ/4jAwIRRQAFCgwIQQsC/wAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
/////////////////////////////////////////////////////w==
|
||||
</value>
|
||||
</data>
|
||||
</root>
|
||||
905
wc3_tool/WC3/Image/Cards.resx
Normal file
905
wc3_tool/WC3/Image/Cards.resx
Normal file
|
|
@ -0,0 +1,905 @@
|
|||
<?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.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||
<data name="Card_0" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAAO4AAACeCAIAAAC6rqG0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAJcEhZcwAADsEAAA7BAbiRa+0AAARdSURBVHhe7dsxbtxIEIZRHc/hHmFDH3GPwSM4VKjQoSlW
|
||||
adDoWWJIEUZ3Ee/HF5RGGDp5IAwDflu+9u/Pnz/MSm1Fm3yXJSnnb8wKLgx/Us4Ptq3MpRIl2W2flNuP
|
||||
1nv574dUoo7uW55fjt+Xf6QSdZqTMseqWKsZZRUOZd0klHWTUNbIPj6W39/a+sXuUShrWN92HOs0o6xh
|
||||
JckLa5+GsoaVHi+sfRrKGlZ6vLD2aShrWOnxwtqnoaxhpccLa5+GsoaVHi+sfRrKGlZ6vLD2aShrWOnx
|
||||
wtqnoaxhpccLa5+GsoaVHi+sfRrKGlZ6vLD2aYcorz8+PnG7z957pccLa5+2/nEou//uvVd6vLD2aesf
|
||||
95qy9DdKjxfWPg1lDSs9Xlj7NJQ1rPR4Ye3TUNaw0uOFtU9DWcNKj197/j9OXc//66T9LcoaVnB8Kfi5
|
||||
h+n2Q5Q1rM7i2VDWLKGsm7RaXOcvGCpfcHzspemH4Mfa36KsYT3TPLWOPsoa2bc1P7/CUdZNQlk3CWXd
|
||||
JJR1k1DWTUJZNwll3SSUdZN2Kee/RJsVGcp2k6FsNxnKdpMdovzxsUgTlkC3vabcfVmaqmSKsqqXTFFW
|
||||
9ZIpyqpeMkVZ1UumKKt6yRRlVS+ZoqzqJVOUVb1kirKql0xRVvWSKcqqXjI9Qnld92VpkhLotkOUzeYf
|
||||
ynaTHaLcvdWlSUqg215T7r4sTVUyRVnVS6Yoq3rJFGVVL5mirOolU5RVvWSKsqqXTFFW9ZIpyqpeMkVZ
|
||||
1UumKKt6yRRlVS+ZHqG8rvuyNEkJdNshymbzD2W7yQ5R7t7q0iQl0G2vKXdflqYqmaKs6iVTlFW9ZIqy
|
||||
qpdMUVb1kinKql4yRVnVS6Yoq3rJFGVVL5mirOolU5RVvWSKsqqXTI9QXtd9WZqkBLrtEGWz+Yey3WSH
|
||||
KHdvdWmSEui215S7L0tTlUxRVvWSKcqqXjJFWdVLpiireskUZVUvmaKs6iVTlFW9ZIqyqpdMUVb1kinK
|
||||
ql4yRVnVS6ZHKK/rvixNUgLddoiy2fxD2W4ylO0mQ9lusheUf/1apMkLqyirfGH1BOX398/c7nnuKKyi
|
||||
7C58R2H1BGVpzsIqyipfWD1Bee8l73aPuqOwirK78B2F1ROUpTkLqyirfGH1BOW9l7zbPeqOwirK7sJ3
|
||||
FFZPUJbmLKyirPKF1ROU917ybveoOwqrKLsL31FYPUFZmrOwirLKF1ZPUN57ybvdo+4orKLsLnxHYfUE
|
||||
ZWnOwirKKl9YPUF57yXvdo+6o7CKsvvzKHpHYfUEZWnOwirKKl9YPUF57yXvdo+6o7CKsrvwHYXVE5Sl
|
||||
OQurKKt8YfUE5b2XvNs96o7CKsruwncUVk9QluYsrKKs8oXVE5T3XvJu96g7CqsouwvfUVg9QVmas7CK
|
||||
ssoXVl9QNquy/6G8jmartdbxurf2h9Aslaij+7YsS/60bf1IKlGS3bYy/qTcaTartTCclNd1zM3m34o2
|
||||
+S7LH+E8UN+c30OjAAAAAElFTkSuQmCC
|
||||
</value>
|
||||
</data>
|
||||
<data name="Card_1" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAAO4AAACeCAIAAAC6rqG0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAJcEhZcwAADsEAAA7BAbiRa+0AAAPgSURBVHhe7dqxbhtHFIZRPaJLP4LLPIJLlyrzGClTskyZ
|
||||
UqVLly5Z+hozGBMbacnNWtjZH2dwMLiUllN9GFACnz5enpvPn798+PAJTqSiHQH3lBdPwIn8SnnxCzid
|
||||
nykvPlfUSziFRbdPi9cv1+9wCouaf6U8Or5cX2By/615mfLiDTCttZT/+HIZL2FylauUSSBljlSNXXes
|
||||
20SlzJF6kjvWOGot5T//eqlfwzupzHqPO1Yd0k6rXN3KHKb3uGONoypXtzLHqMx6jztWHdJOcytzpN7j
|
||||
jjWOqlylzGF6jzvWOGotZR8weFeVWe9xx6pD2mk+YHCk3uOONY6qXN3KHKMy6z3uWHVIO82tzJF6jzvW
|
||||
OKpylTKH6T3uWOMoKXOk3uOONY6SMkfqPe5Y46i1lP3Zx3vrPe5Y46i1P/ukzHvrPe5Y4ygpc6Te4441
|
||||
jpIyR+o97ljjqLWU69fjJfx2vyvlcZpbmcP0Hm9W/XBEuPDW841bmcPcprkptlffWINbmcO0HEd1m7T3
|
||||
jqPWbmUp895ajqO6Tdp7x1E+YHCYkXKtTbG9+sYa3Mocpvd4s+qHI8KFt55v3MocpgK7/P1vT/J/rXr7
|
||||
qLQGtzIJ1m5lKXMiUiaElAmxlvLLt+s/X+EcKlcpk0DKhJAyIaRMCCkTQsqEkDIhpEwIKRNCyoSQMiGk
|
||||
TAgpE0LKhJAyIaRMCCkTQsqEkDIhpEwIKRNCyoS4k3JTy26fdh/cyiSQMiGkTAgpE0LKhJAyIaRMCCkT
|
||||
QsqEkDIhpEwIKRNCyoSQMiGkTIg7KTe33w2122fbB7cyCaRMCCkTQsqEkDIhpEwIKRNCyoSQMiGkTAgp
|
||||
E0LKhJAyIaRMCCkT4k7Kze13Q+322fbBrUwCKRNCyoSQMiGkTAgpE0LKhJAyIaRMCCkTQsqEkDIhpEwI
|
||||
KRNCyoS4k3Jz+91Qu322fbifMpzC2ylfv1+uL3AKlauUSXA/5dphZhtSbo+azTPPNUjZnDDXIGVzwlzD
|
||||
/ZRhZg+k/O3anmiPms0zz6v/V5ay+TyzlM0h80Mpw8w2pNweNZtnnqVsDpmlbA6ZH0oZZrYh5fao2Tzz
|
||||
LGVzyCxlc8j8UMowsw0pt0fN5plnKZtDZimbQ+aHUoaZbUi5PWo2zzxL2RwyS9kcMj+UMsysN+1WNmfM
|
||||
UjaHzFI2h8wPpQwz25Bye9RsnnmWsjlklrI5ZH4oZZjZhpTbo2bzzLOUzSGzlM0h80Mpw8weSPmmfZhc
|
||||
5bqWspo5hdbq6ymXUTPM77bj8rR4XS/hFBbdPn28PN/+CM6oMv6Zspo5tdZwT7ksbmyYX0XbA748/wAY
|
||||
2FlxRAwnqAAAAABJRU5ErkJggg==
|
||||
</value>
|
||||
</data>
|
||||
<data name="Card_2" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAAO4AAACeCAIAAAC6rqG0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAJcEhZcwAADsEAAA7BAbiRa+0AAAN4SURBVHhe7doxbhtXGIVRLdGllpBluFTpMmXKLINLcZky
|
||||
pcuMQM21NZTgUWyA7/44wGmGnHnVh4shwIfHy5erz5+fPn36A4ps0Sbgl5QPd0CR7ykfvoA6zykf3iu2
|
||||
S6hw6PbhcP3Xn3//+/QEi9tCPdT8PeV0/M/jIyzutuZXKeuYIluuUmYCKXM33y6X3+J6mpS5m1T4K6TM
|
||||
/V0r/Pb16/+WQzZS5m6kzBBSZggpM4SUGULKDCFlhpAyQ0iZIaTMEFJmCCkzhJQZQsoMIWWGkDJDSJkh
|
||||
pMwQb6d8uWzhvWn76nBzDtlsN0iZ+3iV8vsF30rTOWSzfS5l7iMpp9EPkTKrkDJDJOVnXjDo9Srl8LOP
|
||||
Om+n/BE5ZCNl7iYV/gopc39bhb/F9TQpM4SUGeInKV8d9hyWklDfTfnwACzOKtMtoVplhrDKdEuoVpkh
|
||||
rDLdEqpVZgirTLeEapUZ4sQq3/y5DtaRUE+s8s3DsBCrzAwJ1SpTziozQ0K1ypSzysyQUK0y5awyMyRU
|
||||
q0w5q8wMCdUqU84qM0NCtcqU+8Aqp2lYT0I9scrQ4MQqH/YcVpJQT6zyzcOwEKvMDAnVKlPOKjNDQrXK
|
||||
lLPKzJBQrTLlrDIzJFSrTDmrzAwJ1SpTziozQ0K1ypT7wCqnaVhPQj2xytDgxCof9hxWklBPrPLNw7AQ
|
||||
q8wMCdUqU84qM0NCtcqUs8rMkFCtMuWsMjMkVKtMOavMDAnVKlPOKjNDQrXKlPvAKqdpWE9CPbHK0ODE
|
||||
Kh/2HFaSUE+s8s3DsBCrzAwJ1SpTziozQ0K1ypSzysyQUK0y5awyMyRUq0w5q8wMCdUqU84qM0NCtcqU
|
||||
O7/KUEHKDCFlhng35byCHF9NYCnn35VzKywooVplyu2hWmW6JVSrTLk9VKtMt4RqlSm3h2qV6ZZQrTLl
|
||||
9lCtMt0SqlWm3B6qVaZbQrXKlNtDtcp0S6hWmXJ7qFaZbgnVKlNuD9Uq0y2hWmXK7aFaZbolVKtMuT1U
|
||||
q0y3hGqVKbeHapXpllCtMuX2UK0y3RKqVabcHqpVpltCtcqU20O1ynRLqFaZcnuoVpluCdUqU24P1SrT
|
||||
LaFaZcrtoVpluiVUq0y5PdSfrzJUkDJDvJ3yRs0U+bHjzcPheruECoduHx4vX378CBptGT+nrGaqXRt+
|
||||
SXlzWGxY3xbtS8CXL/8BzCNgwkNdrNQAAAAASUVORK5CYII=
|
||||
</value>
|
||||
</data>
|
||||
<data name="Card_3" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAAO4AAACeCAIAAAC6rqG0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAJcEhZcwAADsEAAA7BAbiRa+0AAAOpSURBVHhe7do9blRLAIRRL5GQJbAMhy90SEjIEgi9BJZA
|
||||
yBIIaTRW4dcYWvxIt6t1pBN47vTt6FNpAt+9fny4ub//79WrN1BkRJuAn1KeTkCR7ylPX0CdbylPvyvG
|
||||
R6gwdXs3fX739v27j/ewu7fvp5q/p5yOHx7fwOZ+rPn/KeuYHiNXKXMCKXOZj18+/BO326TMZVLh35Ay
|
||||
17tV+PnLpz+WSwYpcxkpcwgpcwgpcwgpcwgpcwgpcwgpcwgpcwgpcwgpcwgpcwgpcwgpcwgpcwgpcwgp
|
||||
cwgpc4gXUx4PR3gvGl9Nh3PJMA5ImWs8T/kXBf8oTeeSYTyXMtdIymn0t0iZXUiZQyTlYfydRpfG4dtb
|
||||
uWQYz6XMNZ6nHL9oOgVHLhnGASlzjRdT/i25ZJAyl0mFf0PKXG9U+E/cbpMyh5Ayh1ikfDPtOWwlof40
|
||||
5ekF2JxVpltCtcocwirTLaFaZQ5hlemWUK0yh7DKdEuoVplDrFd5+s862EpCXa/y9CZsJaFaZbolVKtM
|
||||
t4RqlemWUK0y3RKqVaZbQrXKdEuoVpluCdUq0y2hWmW6JVSrTLeEapXpllCtMt0S6nqVcxQ2lFDXqwwV
|
||||
1qs87TlsJaGuV3l6E7aSUK0y3RKqVaZbQrXKdEuoVpluCdUq0y2hWmW6JVSrTLeEapXpllCtMt0SqlWm
|
||||
W0K1ynRLqFaZbgl1vco5ChtKqOtVhgrrVZ72HLaSUNerPL0JW0moVpluCdUq0y2hWmW6JVSrTLeEapXp
|
||||
llCtMt0SqlWmW0K1ynRLqFaZbgnVKtMtoVpluiVUq0y3hLpe5RyFDSXU9SpDhfUqT3sOW0mo61We3oSt
|
||||
JFSrTLeEapXpllCtMt0SqlWmW0K1ynRLqFaZbgnVKtMtoVpluiVUq0y3hGqV6ZZQrTLdEqpVpltCXa8y
|
||||
VJAyh5Ayh/hpyvkJMv00ga0k1PUq5yhsKKFaZbolVKtMt4RqlemWUK0y3RKqVaZbQrXKdEuoVpluCdUq
|
||||
0y2hWmW6JVSrTLeEapXpllCtMt0SqlWmW0K1ynRLqFaZbgnVKtMtoVpluiVUq0y3hGqV6ZZQrTLdEqpV
|
||||
pltCtcp0S6hWmW4J1SrTLaFaZbolVKtMt4RqlemWUK0y3RKqVaZbQrXKdEuoVpluCdUq0y2hWmW6JVSr
|
||||
TLeEapXpllDXqwwVpMwhXk55UDNFnnc83E2fx0eoMHV79/rx4fkjaDQy/paymql2a/gp5WFabNjfiPYp
|
||||
4MeHr6U6cnxsaGiLAAAAAElFTkSuQmCC
|
||||
</value>
|
||||
</data>
|
||||
<data name="Card_4" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAAO4AAACeCAIAAAC6rqG0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAJcEhZcwAADsEAAA7BAbiRa+0AAAOrSURBVHhe7doxblw3AEVRLdGll5AyS3CZUqXKlFnGlFmK
|
||||
SpcpQ2OEZ4WWTTs28PmIA5xC84ef1cXDFHp4f3u8+/Dhj3fvfoMiI9oE/JLydAKKfE55+gLqfEp5+l0x
|
||||
PkKFqduH6fOfT3893Z5hcyPUqebPKafj359usLkva/5PyjqmyMhVypxAylzm7+ePv8T9NilzmVT4M6TM
|
||||
9e4VPn/853/LJYOUuYyUOYSUOYSUOYSUOYSUOYSUOYSUOYSUOYSUOYSUOYSUOYSUOYSUOYSUOYSUOYSU
|
||||
OYSUOcSbKY+H49mbxlfT4VwyjANS5hqvU/5GwV9K07lkGM+lzDWS8j3QHyVldiFlDpGUh/H3PdDvMQ7f
|
||||
38olw3guZa7xOuX4RtMpOHLJMA5ImWu8mfIPySWDlLlMKvwZUuZ6o8Jf4n6blDmElDnEIuW7ac9hKwn1
|
||||
qylPL8DmrDLdEqpV5hBWmW4J1SpzCKtMt4RqlTmEVaZbQrXKHGK9ytN/1sFWEup6lac3YSsJ1SrTLaFa
|
||||
ZbolVKtMt4RqlemWUK0y3RKqVaZbQrXKdEuoVpluCdUq0y2hWmW6JVSrTLeEapXpllDXq5yjsKGEul5l
|
||||
qLBe5WnPYSsJdb3K05uwlYRqlemWUK0y3RKqVaZbQrXKdEuoVpluCdUq0y2hWmW6JVSrTLeEapXpllCt
|
||||
Mt0SqlWmW0K1ynRLqOtVzlHYUEJdrzJUWK/ytOewlYS6XuXpTdhKQrXKdEuoVpluCdUq0y2hWmW6JVSr
|
||||
TLeEapXpllCtMt0SqlWmW0K1ynRLqFaZbgnVKtMtoVpluiXU9SrnKGwooa5XGSqsV3nac9hKQl2v8vQm
|
||||
bCWhWmW6JVSrTLeEapXpllCtMt0SqlWmW0K1ynRLqFaZbgnVKtMtoVpluiVUq0y3hGqV6ZZQrTLdEup6
|
||||
laGClDmElDnEV1POT5DppwlsJaGuVzlHYUMJ1SrTLaFaZbolVKtMt4RqlemWUK0y3RKqVaZbQrXKdEuo
|
||||
VpluCdUq0y2hWmW6JVSrTLeEapXpllCtMt0SqlWmW0K1ynRLqFaZbgnVKtMtoVpluiVUq0y3hGqV6ZZQ
|
||||
rTLdEqpVpltCtcp0S6hWmW4J1SrTLaFaZbolVKtMt4RqlemWUK0y3RKqVaZbQrXKdEuoVpluCdUq0y2h
|
||||
WmW6JVSrTLeEul5lqCBlDvF2yoOaKfK64+Fh+jw+QoWp24f3t8fXj6DRyPhTymqm2r3hl5SHabFhfyPa
|
||||
l4Bvj/8CB0TdcEaHzuUAAAAASUVORK5CYII=
|
||||
</value>
|
||||
</data>
|
||||
<data name="Card_5" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAAO4AAACeCAIAAAC6rqG0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAJcEhZcwAADsEAAA7BAbiRa+0AAAOpSURBVHhe7dqxbVRLAIVhl0UZhC6BMggJHRISUgKhS6AE
|
||||
Qsp4g9Y6mMEw4oF054w+6Qu8d+dO9OtoA9/dPz7cvH377vXrN1BkRJuAn1KeTkCR7ylPX0CdbylPvyvG
|
||||
R6gwdXs3ff7w/uPnz/ewuRHqVPP3lNPxp0+vYHM/1/xDyjqmyMhVypxAylzmy5d3/8TtNilzmVT4N6TM
|
||||
9W4Vfv36+L/lkkHKXEbKHELKHELKHELKHELKHELKHELKHELKHELKHELKHELKHELKHELKHELKHELKHELK
|
||||
HELKHOLFlMfDEd6LxlfT4VwyjANS5hrPU/5NwT9L07lkGM+lzDWSchr9I1JmF1LmEEl5GH+n0aVx+PZW
|
||||
LhnGcylzjecpx2+aTsGRS4ZxQMpc48WU/0guGaTMZVLh35Ay1xsV/hO326TMIaTMIRYp30x7DltJqL9M
|
||||
eXoBNmeV6ZZQrTKHsMp0S6hWmUNYZbolVKvMIawy3RKqVeYQ61We/rMOtpJQ16s8vQlbSahWmW4J1SrT
|
||||
LaFaZbolVKtMt4RqlemWUK0y3RKqVaZbQrXKdEuoVpluCdUq0y2hWmW6JVSrTLeEul7lHIUNJdT1KkOF
|
||||
9SpPew5bSajrVZ7ehK0kVKtMt4RqlemWUK0y3RKqVaZbQrXKdEuoVpluCdUq0y2hWmW6JVSrTLeEapXp
|
||||
llCtMt0SqlWmW0Jdr3KOwoYS6nqVocJ6lac9h60k1PUqT2/CVhKqVaZbQrXKdEuoVpluCdUq0y2hWmW6
|
||||
JVSrTLeEapXpllCtMt0SqlWmW0K1ynRLqFaZbgnVKtMtoa5XOUdhQwl1vcpQYb3K057DVhLqepWnN2Er
|
||||
CdUq0y2hWmW6JVSrTLeEapXpllCtMt0SqlWmW0K1ynRLqFaZbgnVKtMtoVpluiVUq0y3hGqV6ZZQ16sM
|
||||
FaTMIaTMIX6Zcn6CTD9NYCsJdb3KOQobSqhWmW4J1SrTLaFaZbolVKtMt4RqlemWUK0y3RKqVaZbQrXK
|
||||
dEuoVpluCdUq0y2hWmW6JVSrTLeEapXpllCtMt0SqlWmW0K1ynRLqFaZbgnVKtMtoVpluiVUq0y3hGqV
|
||||
6ZZQrTLdEqpVpltCtcp0S6hWmW4J1SrTLaFaZbolVKtMt4RqlemWUK0y3RKqVaZbQrXKdEuoVpluCdUq
|
||||
0y2hWmW6JdT1KkMFKXOIl1Me1EyR5x0Pd9Pn8REqTN3e3T8+PH8EjUbG31JWM9VuDT+lPEyLDfsb0T4F
|
||||
/PjwHzwgdeE9EPsHAAAAAElFTkSuQmCC
|
||||
</value>
|
||||
</data>
|
||||
<data name="Card_6" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAAO4AAACeCAIAAAC6rqG0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAJcEhZcwAADsEAAA7BAbiRa+0AAAo5SURBVHhe7doxkpvHEYZhHs9HYOhQIcM9hkOHOopChxs6
|
||||
dKhQR3CTDX/VfvufGQA/dmqx+FBPqZY9L4bBtClWyd/e//f58fb2N3/8eapPLO1lfd/fL6t8OfHHnyf8
|
||||
5A7/XOXL4Nfn/V/f4d/vQygTmjNwc0JTobQv7Pd/fL+s7K/Pz1Wuf6+I4o8//k/9MqBMaM7AzQlNhdK+
|
||||
vLrNscbfLj96j+0J1W2+rHLfhroogDKhOQM3JzQVSnsp2ubjVa6LAjUTNGfg5oSmQmmvZrbKdVFATYXm
|
||||
DNyc0FQo7QUNV7kuCujLFZozcHNCU6G013S8ynVRoH5Z0JyBmxOaCqW9rINVnsCXE5ozcHNCU6G0V8ZV
|
||||
nvz3BXwzoTkDNyc0FUp7cdeuMr6W0JyBmxOaCqXZVauM7yQ0Z+DmhKZCaRbWq4wvJDRn4OaEpkJplhar
|
||||
jDrV4CTcnNBUKM1ktspIk07Pw80JTYXSrBquMrqkrToPNyc0FUozOF5lRKku1km4OaGpUJp1B6uMImG3
|
||||
zsDNCU2F0uwQV/lwdepinYSbE5oKpdnIepXrYp2EmxOaCqXZxGKV62KdVK8VNBVKszmu8o+3N7NHwbZ9
|
||||
KK+yfSBs24c6/gtG/Rf9SfU3EzQVSrMrHazyA+E3S2gqlGbX4yrj/4NxBn6nhKZCaXaTj1pl/DYJTYXS
|
||||
Xs3v//yOv2dDBPgKfMgq4/dIaCqU9jqWG9yNdvrxq4zfIKGpUNrrwI7eBFeFB68ybk9oKpT2UrCdN8FV
|
||||
4ZGrjKsTmgqlvaDP+BcM3JvQVCjtxS13erTB8phVxqUJTYXS7LwHrDJuTGgqlGYPcXaVcV1CU6E0e5RT
|
||||
q4y7EpoKpdkD3b/KuCihqVCaPdadq4xbEpoKpdnD3bPKuCKhqVCafYSbVxnfT2gqlGYf5LZVxpcTmgql
|
||||
2ce5YZXxzYSmQmn2oa5dZXwtoalQmn208Sq//2b2FNar/Od//n6rv/78LWAY+jwn9gr6u9dJGs2XvMq2
|
||||
T3/3Okmj+ZJX2fbp714naTRfWqxyHHiV7VH6u9dJGs2XZqucB15le5T+7nWSRvOl4SrnH8leZXug/u51
|
||||
kkbzJa+y7dPfvU7SaL7kVbZ9+rvXSRrNl7zKtk9/9zpJo/mSV9n26e9eJ2k0X/Iq2z793eskjeZLi1WO
|
||||
f3qV7VH6u9dJGs2XZqt84VW2B+nvXidpNF8arrL/w7U9XH/3Okmj+ZJX2fbp714naTRf8irbPv3d6ySN
|
||||
5ktXrbLZU/CfyrZJf/c6SaP5klfZ9unvXidpNF/yKts+/d3rJI3mS4tVjgOvsj1Kf/c6SaP50myV88Cr
|
||||
bI/S371O0mi+NFzl/CPZq2wP1N+9TtJovuRVtn36u9dJGs2XvMq2T3/3Okmj+ZJX2fbp714naTRf8irb
|
||||
Pv3d6ySN5kteZdunv3udpNF8yats+/R3r5M0mi95lW2f/u51kkbzJa+y7dPfvU7SaL7kVbZ9+rvXSRrN
|
||||
l65aZbOnsF5lrP81rv/fXE7sFfR3r5M0mi95lW2f/u51kkbzJa+y7dPfvU7SaL7kVbZ9+rvXSRrNl7zK
|
||||
tk9/9zpJo/mSV9n26e9eJ2k0X/Iq2z793eskjeZLXmXbp797naTRfMmrbPv0d6+TNJoveZVtn/7udZJG
|
||||
8yWvsu3T371O0mi+5FW2ffq710kazZe8yrZPf/c6SaP5klfZ9unvXidpNF/yKts+/d3rJI3mS1etstlT
|
||||
WK8y1v8a1/9vLif2Cvq710kazZe8yrZPf/c6SaP5klfZ9unvXidpNF/yKts+/d3rJI3mS15l26e/e52k
|
||||
0XzJq2z79HevkzSaL3mVbZ/+7nWSRvMlr7Lt09+9TtJovuRVtn36u9dJGs2XvMq2T3/3Okmj+ZJX2fbp
|
||||
714naTRf8irbPv3d6ySN5kteZdunv3udpNF8yats+/R3r5M0mi95lW2f/u51kkbzpatW2ewpeJXti1iv
|
||||
Mv4kD/lvgQoBIA4IAHFAAIgDAkAcEADigAAQBwSAOCAAxAEBIA4IAHFAAIgDAkAcEADigCDcs8q4VJAJ
|
||||
MkEmyASZIBNkgkyQCTJBJsgEmSATZIJMkAkyQSbIBJkgE2SCTJAJMkF22yrjrkOK3R9yP3d3f+0q4/tm
|
||||
n4pX2b6IU6scQ8HRIfdz7ufmfQzvWWXdCLWpkAkyQSbIBJkgE2SCTJAJMkEmyASZIBNkgkyQCTJBJsgE
|
||||
mSATZIJMkAmam1dZFx1SJggAcUAAiAMCQBwQAOKAABAHBIA4IADEAQEgDggAcUAAiAMCQBwQAOKAAGp2
|
||||
2yrrignd7v6Q+7n7+vjh/lXOieeef4Z5/HDDKuvL+UtN6s/XTOanfTI/7ZP5aZ/MT/tkfton89M+mZ/2
|
||||
yfy0T+anfTI/7ZP5aZ/MT/vk8DT+edufypUuOjzt3M+5n5v3MfQquz/2XH0Mb1hlXZS/1KT+fM1kfton
|
||||
89M+mZ/2yfy0T+anfTI/7ZP5aZ/MT/tkfton89M+mZ/2yfy0Tw5P45+3/amsL2viueefYR4/3L/KI1m6
|
||||
H3E/d18fP9y2ysvblQkCQBwQAOKAABAHBIA4IADEAQEgDggAcUAAiAMCQBwQAOKAABAHBIA4IICa3bzK
|
||||
+bVDtamQCTJBJsgEmSATZIJMkAkyQSbIBJkgE2SCTJAJMkEmyASZIBNkgkyQCZp7VjnpxsPTzv2c+7l5
|
||||
H8P7V9ns8/Aq2xdxwyonfP+QYveH3M/d3d+2ygl3CTJBJsgEmSATZIJMkAkyQSbIBJkgE2SCTJAJMkEm
|
||||
yASZIBNkgkyQCTJBJsjuWeWASwMCQBwQAOKAABAHBIA4IADEAQEgDggAcUAAiAMCQBwQAOKAABAHBIA4
|
||||
IADEAUG4c5XD/N7O/Zz7uWV/7Sr3K3Sv5xK/FM9T/FI0fPg8frjhT+XJLYeT+WmfzE/7ZH7aJ/PTPpmf
|
||||
9sn8tE/mp30yP+2T+WmfzE/7ZH7aJ/PTPpmf9skNq6xvzil2f8j93N29V5ncz33a/oZVxjeXk/lpn8xP
|
||||
+2R+2ifz0z6Zn/bJ/LRP5qd9Mj/tk/lpn8xP+2R+2ifz0z6Zn/bJtas8usVzzz/DPH644U9l0L150ZL7
|
||||
Ofdzy/7OVa73JgSAOCAAxAEBIA4IAHFAAIgDAkAcEADigAAQBwSAOCAAxAEBIA4IAHFAAIgDgnDPKuNS
|
||||
QSbIBJkgE2SCTJAJMkEmyASZIBNkgkyQCTJBJsgEmSATZIJMkAkyQSbIBNltq4y7Dil2f8j93N39tauM
|
||||
75t9Kl5l+yJOrXIMBUeH3M+5n5v3MVyvcm4zvnaoNhUyQSbIBJkgE2SCTJAJMkEmyASZIBNkgkyQCTJB
|
||||
JsgEmSATZIJMkAkyqY32OMxWOeQ2465D9TfA0SH3c+7nIqt7HBarHOILZp8QFpWrHJ++zWafnPY4Pt9+
|
||||
vL1dfvQ221Opexxr/O39/f3yq1+f2OYozD6/y8r++sQa/1xlbLM//jzXJ3f4ssrxqX/T8Mefp/jE0l7W
|
||||
9/39v1K/CMaav8F2AAAAAElFTkSuQmCC
|
||||
</value>
|
||||
</data>
|
||||
<data name="Card_7" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAAO4AAACeCAIAAAC6rqG0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAJcEhZcwAADsEAAA7BAbiRa+0AAAoySURBVHhe7doxkhtHEoVhHW+Ps6aOIHNNHkOmTJk0x6RJ
|
||||
c4+xKSbiRe6fXVUAGlMBDF7HF4xh1o8eo1JDRlC/fZTnX378vNRzWdxfz2WVLyd+/Lzgkzv8zypfBr+e
|
||||
v//6Dt+//xhBmdCcgTcnNBVK+8L++OM/l5X99XCVo/jzz7+r+mFAmdCcgTcnNBVK+/LqNv+zypcvvcf2
|
||||
guo2X1a5b0NdFECZ0JyBNyc0FUp7K9rm41WuiwI1EzRn4M0JTYXS3s1sleuigJoKzRl4c0JTobQ3NFzl
|
||||
uiigD1dozsCbE5oKpb2n41WuiwL1w4LmDLw5oalQ2ts6WOUJfDihOQNvTmgqlPbOuMqTf1/AJxOaM/Dm
|
||||
hKZCaW/u2lXGxxKaM/DmhKZCaXbVKuMzCc0ZeHNCU6E0C+tVxgcSmjPw5oSmQmmWFquMOtXgJLw5oalQ
|
||||
mslslZEmnZ6HNyc0FUqzarjK6JK26jy8OaGpUJrB8SojSnWxTsKbE5oKpVl3sMooEnbrDLw5oalQmh3i
|
||||
Kh+uTl2sk/DmhKZCaTayXuW6WCfhzQlNhdJsYrHKdbFOqq8VNBVKszmu8r9//93sUbBtn8qrbJ8I2/ap
|
||||
jv+CUf+gP6l+M0FToTS70sEqPxC+WUJToTS7HlcZ/w/GGfhOCU2F0uwmn7XK+DYJTYXS3s23b9/w92yI
|
||||
AB+BT1llfI+EpkJp72O5wd1opx+/yvgGCU2F0t4HdvQmeFV48Crj7QlNhdLeCrbzJnhVeOQq49UJTYXS
|
||||
3tAz/gUD701oKpT25pY7Pdpgecwq46UJTYXS7LwHrDLemNBUKM0e4uwq43UJTYXS7FFOrTLeldBUKM0e
|
||||
6P5VxosSmgql2WPducp4S0JToTR7uHtWGa9IaCqUZp/h5lXG5xOaCqXZJ7ltlfHhhKZCafZ5blhlfDKh
|
||||
qVCafaprVxkfS2gqlGafbbjKf/nx8yLPepV//Ph5q58//xswDH2eE3sH/d7rJI3mS15l26ffe52k0XzJ
|
||||
q2z79HuvkzSaLy1WOQ68yvYo/d7rJI3mS7NVzgOvsj1Kv/c6SaP50nCV80eyV9keqN97naTRfMmrbPv0
|
||||
e6+TNJoveZVtn37vdZJG8yWvsu3T771O0mi+5FW2ffq910kazZe8yrZPv/c6SaP50mKV41evsj1Kv/c6
|
||||
SaP50myVk1fZHqXfe52k0XxpuMr+h2t7uH7vdZJG8yWvsu3T771O0mi+5FW2ffq910kazZeuWmU/fl7i
|
||||
8U9l26Tfe52k0XzJq2z79HuvkzSaL3mVbZ9+73WSRvOlxSrHgVfZHqXfe52k0Xxptsp54FW2R+n3Xidp
|
||||
NF8arnL+SPYq2wP1e6+TNJoveZVtn37vdZJG8yWvsu3T771O0mi+5FW2ffq910kazZe8yrZPv/c6SaP5
|
||||
klfZ9un3XidpNF/yKts+/d7rJI3mS15l26ffe52k0XzJq2z79HuvkzSaL3mVbZ9+73WSRvOlq1bZj5+X
|
||||
eNarjPW/xvX/zeXE3kG/9zpJo/mSV9n26fdeJ2k0X/Iq2z793uskjeZLXmXbp997naTRfMmrbPv0e6+T
|
||||
NJoveZVtn37vdZJG8yWvsu3T771O0mi+5FW2ffq910kazZe8yrZPv/c6SaP5klfZ9un3XidpNF/yKts+
|
||||
/d7rJI3mS15l26ffe52k0XzJq2z79HuvkzSaL3mVbZ9+73WSRvMlr7Lt0++9TtJovnTVKvvx8xLPepWx
|
||||
/te4/r+5nNg76PdeJ2k0X/Iq2z793uskjeZLXmXbp997naTRfMmrbPv0e6+TNJoveZVtn37vdZJG8yWv
|
||||
su3T771O0mi+5FW2ffq910kazZe8yrZPv/c6SaP5klfZ9un3XidpNF/yKts+/d7rJI3mS15l26ffe52k
|
||||
0XzJq2z79HuvkzSaL3mVbZ9+73WSRvMlr7Lt0++9TtJovuRVtn36vddJGs2XrlplP35e4vEq+/kiz3qV
|
||||
8ZM85J8CFQJAHBAA4oAAEAcEgDggAMQBASAOCABxQACIAwJAHBAA4oAAEAcEgDggAMQBQbhnlfFSQSbI
|
||||
BJkgE2SCTJAJMkEmyASZIBNkgkyQCTJBJsgEmSATZIJMkAkyQSbIBNltq4x3HVLs/pD7ubv7a1cZnzd7
|
||||
Kl5l+yJOrXIMBUeH3M+5n5v3MbxnlfVGqE2FTJAJMkEmyASZIBNkgkyQCTJBJsgEmSATZIJMkAkyQSbI
|
||||
BJkgE2SCTNDcvMp60SFlggAQBwSAOCAAxAEBIA4IAHFAAIgDAkAcEADigAAQBwSAOCAAxAEBIA4IoGa3
|
||||
rbJeMaG3uz/kfu6+Pr64f5Vz4rnnzzCPL25YZX04f6tJ/fqayfy0T+anfTI/7ZP5aZ/MT/tkfton89M+
|
||||
mZ/2yfy0T+anfTI/7ZP5aZ8cnsavt/1UrvSiw9PO/Zz7uXkfQ6+y+2Ov1cfwhlXWi/K3mtSvr5nMT/tk
|
||||
fton89M+mZ/2yfy0T+anfTI/7ZP5aZ/MT/tkfton89M+mZ/2yeFp/HrbT2V9WBPPPX+GeXxx/yqPZOl+
|
||||
xP3cfX18cdsqL9+uTBAA4oAAEAcEgDggAMQBASAOCABxQACIAwJAHBAA4oAAEAcEgDggAMQBAdTs5lXO
|
||||
jx2qTYVMkAkyQSbIBJkgE2SCTJAJMkEmyASZIBNkgkyQCTJBJsgEmSATZIJM0NyzyklvPDzt3M+5n5v3
|
||||
Mbx/lc2eh1fZvogbVjnh84cUuz/kfu7u/rZVTniXIBNkgkyQCTJBJsgEmSATZIJMkAkyQSbIBJkgE2SC
|
||||
TJAJMkEmyASZIBNkguyeVQ54aUAAiAMCQBwQAOKAABAHBIA4IADEAQEgDggAcUAAiAMCQBwQAOKAABAH
|
||||
BIA4IAh3rnKYv7dzP+d+btlfu8r9FXqv5xK/Fc9T/FY0fPg8vrjhp/LkLYeT+WmfzE/7ZH7aJ/PTPpmf
|
||||
9sn8tE/mp30yP+2T+WmfzE/7ZH7aJ/PTPpmf9skNq6xPzil2f8j93N29V5nczz1tf8Mq45PLyfy0T+an
|
||||
fTI/7ZP5aZ/MT/tkfton89M+mZ/2yfy0T+anfTI/7ZP5aZ/MT/vk2lUevcVzz59hHl/c8FMZ9N580ZL7
|
||||
Ofdzy/7OVa7vTQgAcUAAiAMCQBwQAOKAABAHBIA4IADEAQEgDggAcUAAiAMCQBwQAOKAABAHBOGeVcZL
|
||||
BZkgE2SCTJAJMkEmyASZIBNkgkyQCTJBJsgEmSATZIJMkAkyQSbIBJkgE2S3rTLedUix+0Pu5+7ur11l
|
||||
fN7sqXiV7Ys4tcoxFBwdcj/nfm7ex3C9yrnN+Nih2lTIBJkgE2SCTJAJMkEmyASZIBNkgkyQCTJBJsgE
|
||||
mSATZIJMkAkyQSbIpDba4zBb5ZDbjHcdqt8AR4fcz7mfi6zucViscogP+PHzhA8WlascT99msyenPY7n
|
||||
t4+Pj8uX3mZ7KXWPY43/b5XjiW2Owuz5XVb213NZZWyzHz+v9eQOX1Y5n8uJHz8v8lwWN56Pj/8Bvtcd
|
||||
vaaZkWcAAAAASUVORK5CYII=
|
||||
</value>
|
||||
</data>
|
||||
<data name="News_0" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
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
|
||||
rkJggg==
|
||||
</value>
|
||||
</data>
|
||||
<data name="News_1" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
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
|
||||
gg==
|
||||
</value>
|
||||
</data>
|
||||
<data name="News_2" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAAPAAAACgCAIAAAC9uXYyAAAABGdBTUEAALGOfPtRkwAAACBjSFJNAACH
|
||||
DwAAjA8AAP1SAACBQAAAfXkAAOmLAAA85QAAGcxzPIV3AAAKOWlDQ1BQaG90b3Nob3AgSUNDIHByb2Zp
|
||||
bGUAAEjHnZZ3VFTXFofPvXd6oc0wAlKG3rvAANJ7k15FYZgZYCgDDjM0sSGiAhFFRJoiSFDEgNFQJFZE
|
||||
sRAUVLAHJAgoMRhFVCxvRtaLrqy89/Ly++Osb+2z97n77L3PWhcAkqcvl5cGSwGQyhPwgzyc6RGRUXTs
|
||||
AIABHmCAKQBMVka6X7B7CBDJy82FniFyAl8EAfB6WLwCcNPQM4BOB/+fpFnpfIHomAARm7M5GSwRF4g4
|
||||
JUuQLrbPipgalyxmGCVmvihBEcuJOWGRDT77LLKjmNmpPLaIxTmns1PZYu4V8bZMIUfEiK+ICzO5nCwR
|
||||
3xKxRoowlSviN+LYVA4zAwAUSWwXcFiJIjYRMYkfEuQi4uUA4EgJX3HcVyzgZAvEl3JJS8/hcxMSBXQd
|
||||
li7d1NqaQffkZKVwBALDACYrmcln013SUtOZvBwAFu/8WTLi2tJFRbY0tba0NDQzMv2qUP91829K3NtF
|
||||
ehn4uWcQrf+L7a/80hoAYMyJarPziy2uCoDOLQDI3fti0zgAgKSobx3Xv7oPTTwviQJBuo2xcVZWlhGX
|
||||
wzISF/QP/U+Hv6GvvmckPu6P8tBdOfFMYYqALq4bKy0lTcinZ6QzWRy64Z+H+B8H/nUeBkGceA6fwxNF
|
||||
hImmjMtLELWbx+YKuGk8Opf3n5r4D8P+pMW5FonS+BFQY4yA1HUqQH7tBygKESDR+8Vd/6NvvvgwIH55
|
||||
4SqTi3P/7zf9Z8Gl4iWDm/A5ziUohM4S8jMX98TPEqABAUgCKpAHykAd6ABDYAasgC1wBG7AG/iDEBAJ
|
||||
VgMWSASpgA+yQB7YBApBMdgJ9oBqUAcaQTNoBcdBJzgFzoNL4Bq4AW6D+2AUTIBnYBa8BgsQBGEhMkSB
|
||||
5CEVSBPSh8wgBmQPuUG+UBAUCcVCCRAPEkJ50GaoGCqDqqF6qBn6HjoJnYeuQIPQXWgMmoZ+h97BCEyC
|
||||
qbASrAUbwwzYCfaBQ+BVcAK8Bs6FC+AdcCXcAB+FO+Dz8DX4NjwKP4PnEIAQERqiihgiDMQF8UeikHiE
|
||||
j6xHipAKpAFpRbqRPuQmMorMIG9RGBQFRUcZomxRnqhQFAu1BrUeVYKqRh1GdaB6UTdRY6hZ1Ec0Ga2I
|
||||
1kfboL3QEegEdBa6EF2BbkK3oy+ib6Mn0K8xGAwNo42xwnhiIjFJmLWYEsw+TBvmHGYQM46Zw2Kx8lh9
|
||||
rB3WH8vECrCF2CrsUexZ7BB2AvsGR8Sp4Mxw7rgoHA+Xj6vAHcGdwQ3hJnELeCm8Jt4G749n43PwpfhG
|
||||
fDf+On4Cv0CQJmgT7AghhCTCJkIloZVwkfCA8JJIJKoRrYmBRC5xI7GSeIx4mThGfEuSIemRXEjRJCFp
|
||||
B+kQ6RzpLuklmUzWIjuSo8gC8g5yM/kC+RH5jQRFwkjCS4ItsUGiRqJDYkjiuSReUlPSSXK1ZK5kheQJ
|
||||
yeuSM1J4KS0pFymm1HqpGqmTUiNSc9IUaVNpf+lU6RLpI9JXpKdksDJaMm4ybJkCmYMyF2TGKQhFneJC
|
||||
YVE2UxopFykTVAxVm+pFTaIWU7+jDlBnZWVkl8mGyWbL1sielh2lITQtmhcthVZKO04bpr1borTEaQln
|
||||
yfYlrUuGlszLLZVzlOPIFcm1yd2WeydPl3eTT5bfJd8p/1ABpaCnEKiQpbBf4aLCzFLqUtulrKVFS48v
|
||||
vacIK+opBimuVTyo2K84p6Ss5KGUrlSldEFpRpmm7KicpFyufEZ5WoWiYq/CVSlXOavylC5Ld6Kn0Cvp
|
||||
vfRZVUVVT1Whar3qgOqCmrZaqFq+WpvaQ3WCOkM9Xr1cvUd9VkNFw08jT6NF454mXpOhmai5V7NPc15L
|
||||
Wytca6tWp9aUtpy2l3audov2Ax2yjoPOGp0GnVu6GF2GbrLuPt0berCehV6iXo3edX1Y31Kfq79Pf9AA
|
||||
bWBtwDNoMBgxJBk6GWYathiOGdGMfI3yjTqNnhtrGEcZ7zLuM/5oYmGSYtJoct9UxtTbNN+02/R3Mz0z
|
||||
llmN2S1zsrm7+QbzLvMXy/SXcZbtX3bHgmLhZ7HVosfig6WVJd+y1XLaSsMq1qrWaoRBZQQwShiXrdHW
|
||||
ztYbrE9Zv7WxtBHYHLf5zdbQNtn2iO3Ucu3lnOWNy8ft1OyYdvV2o/Z0+1j7A/ajDqoOTIcGh8eO6o5s
|
||||
xybHSSddpySno07PnU2c+c7tzvMuNi7rXM65Iq4erkWuA24ybqFu1W6P3NXcE9xb3Gc9LDzWepzzRHv6
|
||||
eO7yHPFS8mJ5NXvNelt5r/Pu9SH5BPtU+zz21fPl+3b7wX7efrv9HqzQXMFb0ekP/L38d/s/DNAOWBPw
|
||||
YyAmMCCwJvBJkGlQXlBfMCU4JvhI8OsQ55DSkPuhOqHC0J4wybDosOaw+XDX8LLw0QjjiHUR1yIVIrmR
|
||||
XVHYqLCopqi5lW4r96yciLaILoweXqW9KnvVldUKq1NWn46RjGHGnIhFx4bHHol9z/RnNjDn4rziauNm
|
||||
WS6svaxnbEd2OXuaY8cp40zG28WXxU8l2CXsTphOdEisSJzhunCruS+SPJPqkuaT/ZMPJX9KCU9pS8Wl
|
||||
xqae5Mnwknm9acpp2WmD6frphemja2zW7Fkzy/fhN2VAGasyugRU0c9Uv1BHuEU4lmmfWZP5Jiss60S2
|
||||
dDYvuz9HL2d7zmSue+63a1FrWWt78lTzNuWNrXNaV78eWh+3vmeD+oaCDRMbPTYe3kTYlLzpp3yT/LL8
|
||||
V5vDN3cXKBVsLBjf4rGlpVCikF84stV2a9021DbutoHt5turtn8sYhddLTYprih+X8IqufqN6TeV33za
|
||||
Eb9joNSydP9OzE7ezuFdDrsOl0mX5ZaN7/bb3VFOLy8qf7UnZs+VimUVdXsJe4V7Ryt9K7uqNKp2Vr2v
|
||||
Tqy+XeNc01arWLu9dn4fe9/Qfsf9rXVKdcV17w5wD9yp96jvaNBqqDiIOZh58EljWGPft4xvm5sUmoqb
|
||||
PhziHRo9HHS4t9mqufmI4pHSFrhF2DJ9NProje9cv+tqNWytb6O1FR8Dx4THnn4f+/3wcZ/jPScYJ1p/
|
||||
0Pyhtp3SXtQBdeR0zHYmdo52RXYNnvQ+2dNt293+o9GPh06pnqo5LXu69AzhTMGZT2dzz86dSz83cz7h
|
||||
/HhPTM/9CxEXbvUG9g5c9Ll4+ZL7pQt9Tn1nL9tdPnXF5srJq4yrndcsr3X0W/S3/2TxU/uA5UDHdavr
|
||||
XTesb3QPLh88M+QwdP6m681Lt7xuXbu94vbgcOjwnZHokdE77DtTd1PuvriXeW/h/sYH6AdFD6UeVjxS
|
||||
fNTws+7PbaOWo6fHXMf6Hwc/vj/OGn/2S8Yv7ycKnpCfVEyqTDZPmU2dmnafvvF05dOJZ+nPFmYKf5X+
|
||||
tfa5zvMffnP8rX82YnbiBf/Fp99LXsq/PPRq2aueuYC5R69TXy/MF72Rf3P4LeNt37vwd5MLWe+x7ys/
|
||||
6H7o/ujz8cGn1E+f/gUDmPP8usTo0wAAAAlwSFlzAAALEgAACxIB0t1+/AAAAmtJREFUeF7t1rFNLDEY
|
||||
RlHKpKQtg1IoZUNCwg0hwUL/ezOQMb460olGlqNvrvz0uN8hw6BJ+e2g32+3t+dn+BOf8xuDPPLzoE2Z
|
||||
i/jNrH8Y9LgR/tyY6HA2aG3mgs47fTbocRFcxBjqd4eDlmcu6yTSh4MeV8CljLkuBs2WxlwXg2ZLY66L
|
||||
QbOlMdfFoNnSmOti0GxpzHUxaLY05roYNFsac10Mmi2NuS4GzZbGXBeDZktjrotBs6Ux1+Vw0O+3G1zW
|
||||
mOui0GxpzHU5HPTj5QWua8z1i0KzpTHX5enx+vp/nz/B+AIXcTzO0yfHP6fhEs6eHOPoYtBclkKTotCk
|
||||
KDQpCk2KQpOi0KQoNCkKTYpCk6LQpCg0KQpNikKTotCkKDQpCk2KQpOi0KQoNCkKTYpCk6LQpCg0KQpN
|
||||
ikKTotCkKDQpCk2KQpOi0KQoNCkKTYpCk6LQpCg0KQpNikKTotCkKDQpCk2KQpOi0KQoNCkKTYpCk6LQ
|
||||
pCg0KQpNikKTotCkKDQpCk2KQpOi0KQoNCkKTYpCk6LQpCg0KQpNikKTotCkKDQpCk2KQpOi0KQoNCkK
|
||||
TYpCk6LQpCg0KQpNikKTotCkKDQpCk2KQpOi0KQoNCkKTYpCk6LQpCg0KQpNikKTotCkKDQpCk2KQpOi
|
||||
0KQoNCkKTYpCk6LQpCg0KQpNikKTotCkKDQpCk2KQpOi0KQoNCkKTYpCk6LQpCg0KQpNikKTotCkKDQp
|
||||
Ck2KQpOi0KQoNCkKTYpCk6LQpCg0KQpNikKTotCkKDQpCk2KQpOi0KQoNCkKTYpCk6LQpCg0KQpNikKT
|
||||
clTo+/0D5KYuHQZ2qmgAAAAASUVORK5CYII=
|
||||
</value>
|
||||
</data>
|
||||
<data name="News_3" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
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
|
||||
</value>
|
||||
</data>
|
||||
<data name="News_4" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
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
|
||||
XTesb3QPLh88M+QwdP6m681Lt7xuXbu94vbgcOjwnZHokdE77DtTd1PuvriXeW/h/sYH6AdFD6UeVjxS
|
||||
fNTws+7PbaOWo6fHXMf6Hwc/vj/OGn/2S8Yv7ycKnpCfVEyqTDZPmU2dmnafvvF05dOJZ+nPFmYKf5X+
|
||||
tfa5zvMffnP8rX82YnbiBf/Fp99LXsq/PPRq2aueuYC5R69TXy/MF72Rf3P4LeNt37vwd5MLWe+x7ys/
|
||||
6H7o/ujz8cGn1E+f/gUDmPP8usTo0wAAAAlwSFlzAAALEgAACxIB0t1+/AAAAmtJREFUeF7t1rFt3TAY
|
||||
RlGPnHE8RkZwmREywitf6TKuiOCHJbszeXGAUwkSq08XfHk83yHDoEn57qBf3x6/Xt/gR3zMbwzyyteD
|
||||
NmU28Z1ZfzHocSL8uDHR4W7Q2syG7jt9N+hxEGxiDPV/l4OWZ7Z1E+nLQY8jYCtjrotBc6Qx18WgOdKY
|
||||
62LQHGnMdTFojjTmuhg0RxpzXQyaI425LgbNkcZcF4PmSGOui0FzpDHXxaA50pjrYtAcacx1uRz0xyew
|
||||
rTHXRaE50pjrcjno33+fsK0x10WhOdKY6/Ly5/H81MdPMJ7AJm7GeXflGK/CJu6uHOPVxaDZlkKTotCk
|
||||
KDQpCk2KQpOi0KQoNCkKTYpCk6LQpCg0KQpNikKTotCkKDQpCk2KQpOi0KQoNCkKTYpCk6LQpCg0KQpN
|
||||
ikKTotCkKDQpCk2KQpOi0KQoNCkKTYpCk6LQpCg0KQpNikKTotCkKDQpCk2KQpOi0KQoNCkKTYpCk6LQ
|
||||
pCg0KQpNikKTotCkKDQpCk2KQpOi0KQoNCkKTYpCk6LQpCg0KQpNikKTotCkKDQpCk2KQpOi0KQoNCkK
|
||||
TYpCk6LQpCg0KQpNikKTotCkKDQpCk2KQpOi0KQoNCkKTYpCk6LQpCg0KQpNikKTotCkKDQpCk2KQpOi
|
||||
0KQoNCkKTYpCk6LQpCg0KQpNikKTotCkKDQpCk2KQpOi0KQoNCkKTYpCk6LQpCg0KQpNikKTotCkKDQp
|
||||
Ck2KQpOi0KQoNCkKTYpCk6LQpCg0KQpNikKTotCkKDQpCk2KQpOi0KQoNCkKTYpCk6LQpCg0KQpNikKT
|
||||
clno5/s/4kr1Ni2QO04AAAAASUVORK5CYII=
|
||||
</value>
|
||||
</data>
|
||||
<data name="News_5" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
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
|
||||
XTesb3QPLh88M+QwdP6m681Lt7xuXbu94vbgcOjwnZHokdE77DtTd1PuvriXeW/h/sYH6AdFD6UeVjxS
|
||||
fNTws+7PbaOWo6fHXMf6Hwc/vj/OGn/2S8Yv7ycKnpCfVEyqTDZPmU2dmnafvvF05dOJZ+nPFmYKf5X+
|
||||
tfa5zvMffnP8rX82YnbiBf/Fp99LXsq/PPRq2aueuYC5R69TXy/MF72Rf3P4LeNt37vwd5MLWe+x7ys/
|
||||
6H7o/ujz8cGn1E+f/gUDmPP8usTo0wAAAAlwSFlzAAALEgAACxIB0t1+/AAAAm1JREFUeF7t1rFNHUEY
|
||||
RlHKcimU4TJcEiElvJCQkDJMNLJ+eRcyZq6OdKLVaKJvr+bp4+MVMgyalO8O+vF4fnn5BT/ic35jkFe+
|
||||
HrQps4nvzPqLQY8b4ceNiQ53g9ZmNnTf6btBj4tgE2Oo/7octDyzrZtIXw56XAFbGXNdDJojjbkuBs2R
|
||||
xlwXg+ZIY66LQXOkMdfFoDnSmOti0BxpzHUxaI405roYNEcac10MmiONuS4GzZHGXBeD5khjrsvloB+P
|
||||
Z9jWmOui0BxpzHW5HPTb22/Y1pjrotAcacx1eXp///Nfnz/B+AKbuBnn3ZNjHIVN3D05xtHFoNmWQpOi
|
||||
0KQoNCkKTYpCk6LQpCg0KQpNikKTotCkKDQpCk2KQpOi0KQoNCkKTYpCk6LQpCg0KQpNikKTotCkKDQp
|
||||
Ck2KQpOi0KQoNCkKTYpCk6LQpCg0KQpNikKTotCkKDQpCk2KQpOi0KQoNCkKTYpCk6LQpCg0KQpNikKT
|
||||
otCkKDQpCk2KQpOi0KQoNCkKTYpCk6LQpCg0KQpNikKTotCkKDQpCk2KQpOi0KQoNCkKTYpCk6LQpCg0
|
||||
KQpNikKTotCkKDQpCk2KQpOi0KQoNCkKTYpCk6LQpCg0KQpNikKTotCkKDQpCk2KQpOi0KQoNCkKTYpC
|
||||
k6LQpCg0KQpNikKTotCkKDQpCk2KQpOi0KQoNCkKTYpCk6LQpCg0KQpNikKTotCkKDQpCk2KQpOi0KQo
|
||||
NCkKTYpCk6LQpCg0KQpNikKTotCkKDQpCk2KQpOi0KQoNCkKTYpCk6LQpCg0KQpNikKTotCkKDQpCk2K
|
||||
QpNyWeiP17+UM/Q13Ls4JwAAAABJRU5ErkJggg==
|
||||
</value>
|
||||
</data>
|
||||
<data name="News_6" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
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
|
||||
</value>
|
||||
</data>
|
||||
<data name="News_7" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
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
|
||||
</value>
|
||||
</data>
|
||||
</root>
|
||||
7089
wc3_tool/WC3/Image/Icons.resx
Normal file
7089
wc3_tool/WC3/Image/Icons.resx
Normal file
File diff suppressed because it is too large
Load Diff
234
wc3_tool/WC3/ME3.cs
Normal file
234
wc3_tool/WC3/ME3.cs
Normal file
|
|
@ -0,0 +1,234 @@
|
|||
/*
|
||||
* Created by SharpDevelop.
|
||||
* User: suloku
|
||||
* Date: 02/05/2016
|
||||
* Time: 23:22
|
||||
*
|
||||
* To change this template use Tools | Options | Coding | Edit Standard Headers.
|
||||
*/
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Data;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Windows.Forms;
|
||||
using System.IO;
|
||||
|
||||
namespace WC3_TOOL
|
||||
{
|
||||
/// <summary>
|
||||
/// Description of ME3.
|
||||
/// </summary>
|
||||
public class ME3
|
||||
{
|
||||
|
||||
public int isemerald = -1;
|
||||
|
||||
// Global Settings
|
||||
// Save Data Attributes
|
||||
public byte[] Data;
|
||||
public bool Edited;
|
||||
public readonly bool Exportable;
|
||||
public readonly byte[] BAK;
|
||||
public string FileName, FilePath;
|
||||
private int me3_size;
|
||||
|
||||
public ME3(byte[] data, int size)
|
||||
{
|
||||
me3_size = size;
|
||||
Data = (byte[])(data ?? new byte[me3_size]).Clone();
|
||||
BAK = (byte[])Data.Clone();
|
||||
Exportable = !Data.SequenceEqual(new byte[Data.Length]);
|
||||
|
||||
isEmerald();
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
public int isEmerald()
|
||||
{
|
||||
//Get checksum in script
|
||||
UInt32 chk_scr = BitConverter.ToUInt32(getData(0, 4), 0);
|
||||
|
||||
//RS checksum
|
||||
UInt32 chk_RS = me3_checksum(getData(4, me3_size-4-8), me3_size-4-8);
|
||||
|
||||
//E checksum
|
||||
UInt32 chk_E = (UInt32) wc3.wc_checksum(getData(4, me3_size-4-8), me3_size-4-8, 0);
|
||||
|
||||
if (chk_scr == chk_RS)
|
||||
{
|
||||
isemerald = 0;
|
||||
return isemerald;
|
||||
}else if (chk_scr == chk_E)
|
||||
{
|
||||
isemerald = 1;
|
||||
return isemerald;
|
||||
}else{
|
||||
DialogResult dialogResult = MessageBox.Show("ME3 file script has wrong checksum. Is this a Ruby/Sapphire mistery event?", "Wrong checksum", MessageBoxButtons.YesNo);
|
||||
if(dialogResult == DialogResult.Yes)
|
||||
{
|
||||
isemerald = 0;
|
||||
}
|
||||
else if (dialogResult == DialogResult.No)
|
||||
{
|
||||
isemerald = 1;
|
||||
}
|
||||
return isemerald;
|
||||
}
|
||||
}
|
||||
|
||||
public byte[] getData(int Offset, int Length)
|
||||
{
|
||||
return Data.Skip(Offset).Take(Length).ToArray();
|
||||
}
|
||||
public void setData(byte[] input, int Offset)
|
||||
{
|
||||
input.CopyTo(Data, Offset);
|
||||
Edited = true;
|
||||
}
|
||||
|
||||
public byte MAP_BANK { get { return Data[0x05]; } set { Data[0x05] = (byte) value; } }
|
||||
public byte MAP_MAP { get { return Data[0x06]; } set { Data[0x06] = (byte) value; } }
|
||||
public byte MAP_PERSON { get { return Data[0x07]; } set { Data[0x07] = (byte) value; } }
|
||||
|
||||
public byte[] get_script()
|
||||
{
|
||||
|
||||
int scriptsize=0;
|
||||
int i = 0;
|
||||
for (i=0; i<me3_size-4-4-8; i++) //Leave out checksum (4), header(4) and item structure (8)
|
||||
{
|
||||
if(Data[me3_size-8-i-1] == 0xFF)
|
||||
break;
|
||||
else
|
||||
scriptsize++;
|
||||
}
|
||||
return getData(8, 996-scriptsize);
|
||||
|
||||
}
|
||||
public byte[] get_script_XSE()
|
||||
{
|
||||
//Get base address
|
||||
UInt32 address = BitConverter.ToUInt32(getData(0X9, 4), 0);
|
||||
address = address - (address&0xFF000000);
|
||||
//Build file
|
||||
byte[] xse_export = new byte[address+996];
|
||||
//Set address to the first 4 bytes
|
||||
if (address > 3)
|
||||
BitConverter.GetBytes(address).CopyTo(xse_export, 0);
|
||||
MessageBox.Show("Open script in XSE at address 0x"+address.ToString("X"));
|
||||
//Set script to buffer
|
||||
getData(0x8, 996).CopyTo(xse_export, address);
|
||||
return xse_export;
|
||||
}
|
||||
public void set_script(byte[] newscript)
|
||||
{
|
||||
//Clear existing script
|
||||
int i = 0;
|
||||
for (i=8; i<996+8; i++)
|
||||
{
|
||||
Data[i] = 0x00;
|
||||
}
|
||||
UInt32 header = 0x01010833;
|
||||
setData(BitConverter.GetBytes(header).ToArray(), 4);
|
||||
setData(newscript, 8);
|
||||
}
|
||||
|
||||
public void set_script_XSE(byte[] newscript)
|
||||
{
|
||||
//Clear existing script
|
||||
int i = 0;
|
||||
for (i=8; i<996+8; i++)
|
||||
{
|
||||
Data[i] = 0x00;
|
||||
}
|
||||
//Get address to script
|
||||
UInt32 address = BitConverter.ToUInt32(newscript, 4);
|
||||
|
||||
UInt32 header = 0x01010833;
|
||||
setData(BitConverter.GetBytes(header).ToArray(), 4);
|
||||
setData(newscript.Skip((int)address).ToArray(), 8);
|
||||
}
|
||||
|
||||
public byte get_item_amount()
|
||||
{
|
||||
return getData(me3_size-4, 1)[0];
|
||||
}
|
||||
public byte get_item_counter()
|
||||
{
|
||||
return getData(me3_size-3, 1)[0];
|
||||
}
|
||||
public UInt16 get_item()
|
||||
{
|
||||
return BitConverter.ToUInt16(getData(me3_size-2, 2), 0);
|
||||
}
|
||||
public void set_item_amount(byte amount)
|
||||
{
|
||||
Data[me3_size-4] = amount;
|
||||
}
|
||||
public void set_item_counter(byte counter)
|
||||
{
|
||||
Data[me3_size-3] = counter;
|
||||
}
|
||||
public void set_item(UInt16 item)
|
||||
{
|
||||
setData( BitConverter.GetBytes(item).ToArray(), me3_size-2);
|
||||
}
|
||||
|
||||
public static UInt32 me3_checksum(byte[] buffer, int length)
|
||||
{
|
||||
int i=0;
|
||||
UInt32 Chk = 0;
|
||||
for(i=0; i<length; i++){
|
||||
Chk = unchecked( Chk + buffer[i]);
|
||||
}
|
||||
//MessageBox.Show(Chk.ToString("X"));
|
||||
return Chk;
|
||||
}
|
||||
public void fix_me_item_checksum()
|
||||
{
|
||||
UInt32 chk = me3_checksum(getData(me3_size-4, 0x4), 0x4);
|
||||
setData(BitConverter.GetBytes(chk), me3_size-8);
|
||||
}
|
||||
public void fix_me_script_checksum()
|
||||
{
|
||||
UInt32 chk = 0;
|
||||
//if (has_script() == true)
|
||||
//fake_script();
|
||||
if (isemerald == 1)
|
||||
{
|
||||
chk = (UInt32) wc3.wc_checksum(getData(4, me3_size-4-8), me3_size-4-8, 0);
|
||||
}
|
||||
else{
|
||||
chk = me3_checksum(getData(4, me3_size-4-8), me3_size-4-8);
|
||||
}
|
||||
setData(BitConverter.GetBytes(chk), 0);
|
||||
}
|
||||
private void fake_script()
|
||||
{
|
||||
if(Data[me3_size-8] == 0x00)
|
||||
Data[me3_size-8] = 0xFF;
|
||||
}
|
||||
public bool has_script()
|
||||
{
|
||||
UInt32 header;
|
||||
header = BitConverter.ToUInt32(Data, 4);
|
||||
|
||||
if (header != 0x00){
|
||||
return true;
|
||||
}else{
|
||||
return false;}
|
||||
}
|
||||
public void removeScript()
|
||||
{
|
||||
int i;
|
||||
for(i=0;i<me3_size-8;i++)
|
||||
{
|
||||
Data[i] = 0x00;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
849
wc3_tool/WC3/ME3_editor.Designer.cs
generated
Normal file
849
wc3_tool/WC3/ME3_editor.Designer.cs
generated
Normal file
|
|
@ -0,0 +1,849 @@
|
|||
/*
|
||||
* Created by SharpDevelop.
|
||||
* User: suloku
|
||||
* Date: 02/05/2016
|
||||
* Time: 23:40
|
||||
*
|
||||
* To change this template use Tools | Options | Coding | Edit Standard Headers.
|
||||
*/
|
||||
namespace WC3_TOOL
|
||||
{
|
||||
partial class ME3_editor
|
||||
{
|
||||
/// <summary>
|
||||
/// Designer variable used to keep track of non-visual components.
|
||||
/// </summary>
|
||||
private System.ComponentModel.IContainer components = null;
|
||||
private System.Windows.Forms.Button load_me3_but;
|
||||
private System.Windows.Forms.Button save_me3_but;
|
||||
private System.Windows.Forms.TextBox me3_path;
|
||||
private System.Windows.Forms.Button export_script_but;
|
||||
private System.Windows.Forms.Button import_script_but;
|
||||
private System.Windows.Forms.Label label1;
|
||||
private System.Windows.Forms.Label label2;
|
||||
private System.Windows.Forms.Label label3;
|
||||
private System.Windows.Forms.ComboBox itembox;
|
||||
private System.Windows.Forms.NumericUpDown amountbox;
|
||||
private System.Windows.Forms.NumericUpDown counterbox;
|
||||
private System.Windows.Forms.CheckBox custom_script;
|
||||
private System.Windows.Forms.Button removescript_but;
|
||||
private System.Windows.Forms.CheckBox script_check;
|
||||
private System.Windows.Forms.GroupBox groupBox1;
|
||||
private System.Windows.Forms.RadioButton radio_E;
|
||||
private System.Windows.Forms.RadioButton radio_RS;
|
||||
private System.Windows.Forms.NumericUpDown map_bank;
|
||||
private System.Windows.Forms.NumericUpDown map_num;
|
||||
private System.Windows.Forms.NumericUpDown map_npc;
|
||||
private System.Windows.Forms.Label label4;
|
||||
private System.Windows.Forms.Label label5;
|
||||
private System.Windows.Forms.Label label6;
|
||||
private System.Windows.Forms.GroupBox groupBox2;
|
||||
private System.Windows.Forms.Button help_npc;
|
||||
private System.Windows.Forms.Button counter_help;
|
||||
private System.Windows.Forms.Button amount_help;
|
||||
private System.Windows.Forms.Button item_help;
|
||||
private System.Windows.Forms.Button xse_help;
|
||||
private System.Windows.Forms.Button xse_import;
|
||||
private System.Windows.Forms.Button xse_export;
|
||||
|
||||
/// <summary>
|
||||
/// Disposes resources used by the form.
|
||||
/// </summary>
|
||||
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing) {
|
||||
if (components != null) {
|
||||
components.Dispose();
|
||||
}
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// This method is required for Windows Forms designer support.
|
||||
/// Do not change the method contents inside the source code editor. The Forms designer might
|
||||
/// not be able to load this method if it was changed manually.
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
this.load_me3_but = new System.Windows.Forms.Button();
|
||||
this.save_me3_but = new System.Windows.Forms.Button();
|
||||
this.me3_path = new System.Windows.Forms.TextBox();
|
||||
this.export_script_but = new System.Windows.Forms.Button();
|
||||
this.import_script_but = new System.Windows.Forms.Button();
|
||||
this.label1 = new System.Windows.Forms.Label();
|
||||
this.label2 = new System.Windows.Forms.Label();
|
||||
this.label3 = new System.Windows.Forms.Label();
|
||||
this.itembox = new System.Windows.Forms.ComboBox();
|
||||
this.amountbox = new System.Windows.Forms.NumericUpDown();
|
||||
this.counterbox = new System.Windows.Forms.NumericUpDown();
|
||||
this.custom_script = new System.Windows.Forms.CheckBox();
|
||||
this.script_check = new System.Windows.Forms.CheckBox();
|
||||
this.removescript_but = new System.Windows.Forms.Button();
|
||||
this.groupBox1 = new System.Windows.Forms.GroupBox();
|
||||
this.radio_E = new System.Windows.Forms.RadioButton();
|
||||
this.radio_RS = new System.Windows.Forms.RadioButton();
|
||||
this.map_bank = new System.Windows.Forms.NumericUpDown();
|
||||
this.map_num = new System.Windows.Forms.NumericUpDown();
|
||||
this.map_npc = new System.Windows.Forms.NumericUpDown();
|
||||
this.label4 = new System.Windows.Forms.Label();
|
||||
this.label5 = new System.Windows.Forms.Label();
|
||||
this.label6 = new System.Windows.Forms.Label();
|
||||
this.groupBox2 = new System.Windows.Forms.GroupBox();
|
||||
this.help_npc = new System.Windows.Forms.Button();
|
||||
this.counter_help = new System.Windows.Forms.Button();
|
||||
this.amount_help = new System.Windows.Forms.Button();
|
||||
this.item_help = new System.Windows.Forms.Button();
|
||||
this.xse_help = new System.Windows.Forms.Button();
|
||||
this.xse_import = new System.Windows.Forms.Button();
|
||||
this.xse_export = new System.Windows.Forms.Button();
|
||||
((System.ComponentModel.ISupportInitialize)(this.amountbox)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.counterbox)).BeginInit();
|
||||
this.groupBox1.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.map_bank)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.map_num)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.map_npc)).BeginInit();
|
||||
this.groupBox2.SuspendLayout();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// load_me3_but
|
||||
//
|
||||
this.load_me3_but.Location = new System.Drawing.Point(12, 12);
|
||||
this.load_me3_but.Name = "load_me3_but";
|
||||
this.load_me3_but.Size = new System.Drawing.Size(75, 23);
|
||||
this.load_me3_but.TabIndex = 0;
|
||||
this.load_me3_but.Text = "Load ME3";
|
||||
this.load_me3_but.UseVisualStyleBackColor = true;
|
||||
this.load_me3_but.Click += new System.EventHandler(this.Load_me3_butClick);
|
||||
//
|
||||
// save_me3_but
|
||||
//
|
||||
this.save_me3_but.Enabled = false;
|
||||
this.save_me3_but.Location = new System.Drawing.Point(93, 12);
|
||||
this.save_me3_but.Name = "save_me3_but";
|
||||
this.save_me3_but.Size = new System.Drawing.Size(75, 23);
|
||||
this.save_me3_but.TabIndex = 1;
|
||||
this.save_me3_but.Text = "Save ME3";
|
||||
this.save_me3_but.UseVisualStyleBackColor = true;
|
||||
this.save_me3_but.Click += new System.EventHandler(this.Save_me3_butClick);
|
||||
//
|
||||
// me3_path
|
||||
//
|
||||
this.me3_path.Location = new System.Drawing.Point(12, 41);
|
||||
this.me3_path.Name = "me3_path";
|
||||
this.me3_path.ReadOnly = true;
|
||||
this.me3_path.Size = new System.Drawing.Size(309, 20);
|
||||
this.me3_path.TabIndex = 2;
|
||||
//
|
||||
// export_script_but
|
||||
//
|
||||
this.export_script_but.Enabled = false;
|
||||
this.export_script_but.Location = new System.Drawing.Point(12, 213);
|
||||
this.export_script_but.Name = "export_script_but";
|
||||
this.export_script_but.Size = new System.Drawing.Size(75, 23);
|
||||
this.export_script_but.TabIndex = 3;
|
||||
this.export_script_but.Text = "Export Script";
|
||||
this.export_script_but.UseVisualStyleBackColor = true;
|
||||
this.export_script_but.Click += new System.EventHandler(this.Export_script_butClick);
|
||||
//
|
||||
// import_script_but
|
||||
//
|
||||
this.import_script_but.Enabled = false;
|
||||
this.import_script_but.Location = new System.Drawing.Point(93, 213);
|
||||
this.import_script_but.Name = "import_script_but";
|
||||
this.import_script_but.Size = new System.Drawing.Size(75, 23);
|
||||
this.import_script_but.TabIndex = 4;
|
||||
this.import_script_but.Text = "Import Script";
|
||||
this.import_script_but.UseVisualStyleBackColor = true;
|
||||
this.import_script_but.Click += new System.EventHandler(this.Import_script_butClick);
|
||||
//
|
||||
// label1
|
||||
//
|
||||
this.label1.Location = new System.Drawing.Point(26, 88);
|
||||
this.label1.Name = "label1";
|
||||
this.label1.Size = new System.Drawing.Size(100, 23);
|
||||
this.label1.TabIndex = 5;
|
||||
this.label1.Text = "Item";
|
||||
//
|
||||
// label2
|
||||
//
|
||||
this.label2.Location = new System.Drawing.Point(26, 114);
|
||||
this.label2.Name = "label2";
|
||||
this.label2.Size = new System.Drawing.Size(100, 23);
|
||||
this.label2.TabIndex = 6;
|
||||
this.label2.Text = "Total amount ?";
|
||||
//
|
||||
// label3
|
||||
//
|
||||
this.label3.Location = new System.Drawing.Point(26, 140);
|
||||
this.label3.Name = "label3";
|
||||
this.label3.Size = new System.Drawing.Size(100, 23);
|
||||
this.label3.TabIndex = 7;
|
||||
this.label3.Text = "Distribution counter";
|
||||
//
|
||||
// itembox
|
||||
//
|
||||
this.itembox.FormattingEnabled = true;
|
||||
this.itembox.Items.AddRange(new object[] {
|
||||
"Nothing",
|
||||
"Master Ball",
|
||||
"Ultra Ball",
|
||||
"Great Ball",
|
||||
"Poké Ball",
|
||||
"Safari Ball",
|
||||
"Net Ball",
|
||||
"Dive Ball",
|
||||
"Nest Ball",
|
||||
"Repeat Ball",
|
||||
"Timer Ball",
|
||||
"Luxury Ball",
|
||||
"Premier Ball",
|
||||
"Potion",
|
||||
"Antidote",
|
||||
"Burn Heal",
|
||||
"Ice Heal",
|
||||
"Awakening",
|
||||
"Parlyz Heal",
|
||||
"Full Restore",
|
||||
"Max Potion",
|
||||
"Hyper Potion",
|
||||
"Super Potion",
|
||||
"Full Heal",
|
||||
"Revive",
|
||||
"Max Revive",
|
||||
"Fresh Water",
|
||||
"Soda Pop",
|
||||
"Lemonade",
|
||||
"Moomoo Milk",
|
||||
"EnergyPowder",
|
||||
"Energy Root",
|
||||
"Heal Powder",
|
||||
"Revival Herb",
|
||||
"Ether",
|
||||
"Max Ether",
|
||||
"Elixir",
|
||||
"Max Elixir",
|
||||
"Lava Cookie",
|
||||
"Blue Flute",
|
||||
"Yellow Flute",
|
||||
"Red Flute",
|
||||
"Black Flute",
|
||||
"White Flute",
|
||||
"Berry Juice",
|
||||
"Sacred Ash",
|
||||
"Shoal Salt",
|
||||
"Shoal Shell",
|
||||
"Red Shard",
|
||||
"Blue Shard",
|
||||
"Yellow Shard",
|
||||
"Green Shard",
|
||||
"unknown",
|
||||
"unknown",
|
||||
"unknown",
|
||||
"unknown",
|
||||
"unknown",
|
||||
"unknown",
|
||||
"unknown",
|
||||
"unknown",
|
||||
"unknown",
|
||||
"unknown",
|
||||
"unknown",
|
||||
"HP Up",
|
||||
"Protein",
|
||||
"Iron",
|
||||
"Carbos",
|
||||
"Calcium",
|
||||
"Rare Candy",
|
||||
"PP Up",
|
||||
"Zinc",
|
||||
"PP Max",
|
||||
"unknown",
|
||||
"Guard Spec.",
|
||||
"Dire Hit",
|
||||
"X Attack",
|
||||
"X Defend",
|
||||
"X Speed",
|
||||
"X Accuracy",
|
||||
"X Special",
|
||||
"Poké Doll",
|
||||
"Fluffy Tail",
|
||||
"unknown",
|
||||
"Super Repel",
|
||||
"Max Repel",
|
||||
"Escape Rope",
|
||||
"Repel",
|
||||
"unknown",
|
||||
"unknown",
|
||||
"unknown",
|
||||
"unknown",
|
||||
"unknown",
|
||||
"unknown",
|
||||
"Sun Stone",
|
||||
"Moon Stone",
|
||||
"Fire Stone",
|
||||
"Thunder Stone",
|
||||
"Water Stone",
|
||||
"Leaf Stone",
|
||||
"unknown",
|
||||
"unknown",
|
||||
"unknown",
|
||||
"unknown",
|
||||
"TinyMushroom",
|
||||
"Big Mushroom",
|
||||
"unknown",
|
||||
"Pearl",
|
||||
"Big Pearl",
|
||||
"Stardust",
|
||||
"Star Piece",
|
||||
"Nugget",
|
||||
"Heart Scale",
|
||||
"unknown",
|
||||
"unknown",
|
||||
"unknown",
|
||||
"unknown",
|
||||
"unknown",
|
||||
"unknown",
|
||||
"unknown",
|
||||
"unknown",
|
||||
"unknown",
|
||||
"Orange Mail",
|
||||
"Harbor Mail",
|
||||
"Glitter Mail",
|
||||
"Mech Mail",
|
||||
"Wood Mail",
|
||||
"Wave Mail",
|
||||
"Bead Mail",
|
||||
"Shadow Mail",
|
||||
"Tropic Mail",
|
||||
"Dream Mail",
|
||||
"Fab Mail",
|
||||
"Retro Mail",
|
||||
"Cheri Berry",
|
||||
"Chesto Berry",
|
||||
"Pecha Berry",
|
||||
"Rawst Berry",
|
||||
"Aspear Berry",
|
||||
"Leppa Berry",
|
||||
"Oran Berry",
|
||||
"Persim Berry",
|
||||
"Lum Berry",
|
||||
"Sitrus Berry",
|
||||
"Figy Berry",
|
||||
"Wiki Berry",
|
||||
"Mago Berry",
|
||||
"Aguav Berry",
|
||||
"Iapapa Berry",
|
||||
"Razz Berry",
|
||||
"Bluk Berry",
|
||||
"Nanab Berry",
|
||||
"Wepear Berry",
|
||||
"Pinap Berry",
|
||||
"Pomeg Berry",
|
||||
"Kelpsy Berry",
|
||||
"Qualot Berry",
|
||||
"Hondew Berry",
|
||||
"Grepa Berry",
|
||||
"Tamato Berry",
|
||||
"Cornn Berry",
|
||||
"Magost Berry",
|
||||
"Rabuta Berry",
|
||||
"Nomel Berry",
|
||||
"Spelon Berry",
|
||||
"Pamtre Berry",
|
||||
"Watmel Berry",
|
||||
"Durin Berry",
|
||||
"Belue Berry",
|
||||
"Liechi Berry",
|
||||
"Ganlon Berry",
|
||||
"Salac Berry",
|
||||
"Petaya Berry",
|
||||
"Apicot Berry",
|
||||
"Lansat Berry",
|
||||
"Starf Berry",
|
||||
"Enigma Berry",
|
||||
"unknown",
|
||||
"unknown",
|
||||
"unknown",
|
||||
"BrightPowder",
|
||||
"White Herb",
|
||||
"Macho Brace",
|
||||
"Exp. Share",
|
||||
"Quick Claw",
|
||||
"Soothe Bell",
|
||||
"Mental Herb",
|
||||
"Choice Band",
|
||||
"King\'s Rock",
|
||||
"SilverPowder",
|
||||
"Amulet Coin",
|
||||
"Cleanse Tag",
|
||||
"Soul Dew",
|
||||
"DeepSeaTooth",
|
||||
"DeepSeaScale",
|
||||
"Smoke Ball",
|
||||
"Everstone",
|
||||
"Focus Band",
|
||||
"Lucky Egg",
|
||||
"Scope Lens",
|
||||
"Metal Coat",
|
||||
"Leftovers",
|
||||
"Dragon Scale",
|
||||
"Light Ball",
|
||||
"Soft Sand",
|
||||
"Hard Stone",
|
||||
"Miracle Seed",
|
||||
"BlackGlasses",
|
||||
"Black Belt",
|
||||
"Magnet",
|
||||
"Mystic Water",
|
||||
"Sharp Beak",
|
||||
"Poison Barb",
|
||||
"NeverMeltIce",
|
||||
"Spell Tag",
|
||||
"TwistedSpoon",
|
||||
"Charcoal",
|
||||
"Dragon Fang",
|
||||
"Silk Scarf",
|
||||
"Up-Grade",
|
||||
"Shell Bell",
|
||||
"Sea Incense",
|
||||
"Lax Incense",
|
||||
"Lucky Punch",
|
||||
"Metal Powder",
|
||||
"Thick Club",
|
||||
"Stick",
|
||||
"unknown",
|
||||
"unknown",
|
||||
"unknown",
|
||||
"unknown",
|
||||
"unknown",
|
||||
"unknown",
|
||||
"unknown",
|
||||
"unknown",
|
||||
"unknown",
|
||||
"unknown",
|
||||
"unknown",
|
||||
"unknown",
|
||||
"unknown",
|
||||
"unknown",
|
||||
"unknown",
|
||||
"unknown",
|
||||
"unknown",
|
||||
"unknown",
|
||||
"unknown",
|
||||
"unknown",
|
||||
"unknown",
|
||||
"unknown",
|
||||
"unknown",
|
||||
"unknown",
|
||||
"unknown",
|
||||
"unknown",
|
||||
"unknown",
|
||||
"unknown",
|
||||
"Red Scarf",
|
||||
"Blue Scarf",
|
||||
"Pink Scarf",
|
||||
"Green Scarf",
|
||||
"Yellow Scarf",
|
||||
"Mach Bike",
|
||||
"Coin Case",
|
||||
"Itemfinder",
|
||||
"Old Rod",
|
||||
"Good Rod",
|
||||
"Super Rod",
|
||||
"S.S. Ticket",
|
||||
"Contest Pass",
|
||||
"unknown",
|
||||
"Wailmer Pail",
|
||||
"Devon Goods",
|
||||
"Soot Sack",
|
||||
"Basement Key",
|
||||
"Acro Bike",
|
||||
"Pokéblock Case",
|
||||
"Letter",
|
||||
"Eon Ticket",
|
||||
"Red Orb",
|
||||
"Blue Orb",
|
||||
"Scanner",
|
||||
"Go-Goggles",
|
||||
"Meteorite",
|
||||
"Rm. 1 Key",
|
||||
"Rm. 2 Key",
|
||||
"Rm. 4 Key",
|
||||
"Rm. 6 Key",
|
||||
"Storage Key",
|
||||
"Root Fossil",
|
||||
"Claw Fossil",
|
||||
"Devon Scope",
|
||||
"TM01",
|
||||
"TM02",
|
||||
"TM03",
|
||||
"TM04",
|
||||
"TM05",
|
||||
"TM06",
|
||||
"TM07",
|
||||
"TM08",
|
||||
"TM09",
|
||||
"TM10",
|
||||
"TM11",
|
||||
"TM12",
|
||||
"TM13",
|
||||
"TM14",
|
||||
"TM15",
|
||||
"TM16",
|
||||
"TM17",
|
||||
"TM18",
|
||||
"TM19",
|
||||
"TM20",
|
||||
"TM21",
|
||||
"TM22",
|
||||
"TM23",
|
||||
"TM24",
|
||||
"TM25",
|
||||
"TM26",
|
||||
"TM27",
|
||||
"TM28",
|
||||
"TM29",
|
||||
"TM30",
|
||||
"TM31",
|
||||
"TM32",
|
||||
"TM33",
|
||||
"TM34",
|
||||
"TM35",
|
||||
"TM36",
|
||||
"TM37",
|
||||
"TM38",
|
||||
"TM39",
|
||||
"TM40",
|
||||
"TM41",
|
||||
"TM42",
|
||||
"TM43",
|
||||
"TM44",
|
||||
"TM45",
|
||||
"TM46",
|
||||
"TM47",
|
||||
"TM48",
|
||||
"TM49",
|
||||
"TM50",
|
||||
"HM01",
|
||||
"HM02",
|
||||
"HM03",
|
||||
"HM04",
|
||||
"HM05",
|
||||
"HM06",
|
||||
"HM07",
|
||||
"HM08",
|
||||
"unknown",
|
||||
"unknown",
|
||||
"Oak\'s Parcel* (Emerald only)",
|
||||
"Poké Flute* (Emerald only)",
|
||||
"Secret Key* (Emerald only)",
|
||||
"Bike Voucher* (Emerald only)",
|
||||
"Gold Teeth* (Emerald only)",
|
||||
"Old Amber* (Emerald only)",
|
||||
"Card Key* (Emerald only)",
|
||||
"Lift Key* (Emerald only)",
|
||||
"Helix Fossil* (Emerald only)",
|
||||
"Dome Fossil* (Emerald only)",
|
||||
"Silph Scope* (Emerald only)",
|
||||
"Bicycle* (Emerald only)",
|
||||
"Town Map* (Emerald only)",
|
||||
"Vs. Seeker* (Emerald only)",
|
||||
"Fame Checker* (Emerald only)",
|
||||
"TM Case* (Emerald only)",
|
||||
"Berry Pouch* (Emerald only)",
|
||||
"Teachy TV* (Emerald only)",
|
||||
"Tri-Pass* (Emerald only)",
|
||||
"Rainbow Pass* (Emerald only)",
|
||||
"Tea* (Emerald only)",
|
||||
"MysticTicket* (Emerald only)",
|
||||
"AuroraTicket* (Emerald only)",
|
||||
"Powder Jar* (Emerald only)",
|
||||
"Ruby* (Emerald only)",
|
||||
"Sapphire* (Emerald only)",
|
||||
"Magma Emblem* (Emerald only)",
|
||||
"Old Sea Map* (Emerald only)"});
|
||||
this.itembox.Location = new System.Drawing.Point(132, 85);
|
||||
this.itembox.Name = "itembox";
|
||||
this.itembox.Size = new System.Drawing.Size(189, 21);
|
||||
this.itembox.TabIndex = 8;
|
||||
this.itembox.SelectedIndexChanged += new System.EventHandler(this.ItemboxSelectedIndexChanged);
|
||||
//
|
||||
// amountbox
|
||||
//
|
||||
this.amountbox.Location = new System.Drawing.Point(132, 112);
|
||||
this.amountbox.Maximum = new decimal(new int[] {
|
||||
255,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
this.amountbox.Name = "amountbox";
|
||||
this.amountbox.Size = new System.Drawing.Size(189, 20);
|
||||
this.amountbox.TabIndex = 9;
|
||||
//
|
||||
// counterbox
|
||||
//
|
||||
this.counterbox.Location = new System.Drawing.Point(132, 138);
|
||||
this.counterbox.Maximum = new decimal(new int[] {
|
||||
255,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
this.counterbox.Name = "counterbox";
|
||||
this.counterbox.Size = new System.Drawing.Size(189, 20);
|
||||
this.counterbox.TabIndex = 10;
|
||||
this.counterbox.ValueChanged += new System.EventHandler(this.CounterboxValueChanged);
|
||||
//
|
||||
// custom_script
|
||||
//
|
||||
this.custom_script.AutoCheck = false;
|
||||
this.custom_script.Location = new System.Drawing.Point(204, 213);
|
||||
this.custom_script.Name = "custom_script";
|
||||
this.custom_script.Size = new System.Drawing.Size(104, 24);
|
||||
this.custom_script.TabIndex = 11;
|
||||
this.custom_script.Text = "Custom Script";
|
||||
this.custom_script.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// script_check
|
||||
//
|
||||
this.script_check.AutoCheck = false;
|
||||
this.script_check.Location = new System.Drawing.Point(204, 183);
|
||||
this.script_check.Name = "script_check";
|
||||
this.script_check.Size = new System.Drawing.Size(104, 24);
|
||||
this.script_check.TabIndex = 12;
|
||||
this.script_check.Text = "Script present";
|
||||
this.script_check.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// removescript_but
|
||||
//
|
||||
this.removescript_but.Enabled = false;
|
||||
this.removescript_but.Location = new System.Drawing.Point(33, 184);
|
||||
this.removescript_but.Name = "removescript_but";
|
||||
this.removescript_but.Size = new System.Drawing.Size(114, 23);
|
||||
this.removescript_but.TabIndex = 13;
|
||||
this.removescript_but.Text = "Remove script";
|
||||
this.removescript_but.UseVisualStyleBackColor = true;
|
||||
this.removescript_but.Click += new System.EventHandler(this.Removescript_butClick);
|
||||
//
|
||||
// groupBox1
|
||||
//
|
||||
this.groupBox1.Controls.Add(this.radio_E);
|
||||
this.groupBox1.Controls.Add(this.radio_RS);
|
||||
this.groupBox1.Location = new System.Drawing.Point(20, 271);
|
||||
this.groupBox1.Name = "groupBox1";
|
||||
this.groupBox1.Size = new System.Drawing.Size(127, 93);
|
||||
this.groupBox1.TabIndex = 14;
|
||||
this.groupBox1.TabStop = false;
|
||||
this.groupBox1.Text = "Game";
|
||||
//
|
||||
// radio_E
|
||||
//
|
||||
this.radio_E.Location = new System.Drawing.Point(6, 54);
|
||||
this.radio_E.Name = "radio_E";
|
||||
this.radio_E.Size = new System.Drawing.Size(104, 24);
|
||||
this.radio_E.TabIndex = 1;
|
||||
this.radio_E.TabStop = true;
|
||||
this.radio_E.Text = "Emerald";
|
||||
this.radio_E.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// radio_RS
|
||||
//
|
||||
this.radio_RS.Location = new System.Drawing.Point(6, 24);
|
||||
this.radio_RS.Name = "radio_RS";
|
||||
this.radio_RS.Size = new System.Drawing.Size(104, 24);
|
||||
this.radio_RS.TabIndex = 0;
|
||||
this.radio_RS.TabStop = true;
|
||||
this.radio_RS.Text = "Ruby / Sapphire";
|
||||
this.radio_RS.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// map_bank
|
||||
//
|
||||
this.map_bank.Location = new System.Drawing.Point(82, 14);
|
||||
this.map_bank.Maximum = new decimal(new int[] {
|
||||
255,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
this.map_bank.Name = "map_bank";
|
||||
this.map_bank.Size = new System.Drawing.Size(71, 20);
|
||||
this.map_bank.TabIndex = 15;
|
||||
//
|
||||
// map_num
|
||||
//
|
||||
this.map_num.Location = new System.Drawing.Point(82, 40);
|
||||
this.map_num.Maximum = new decimal(new int[] {
|
||||
255,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
this.map_num.Name = "map_num";
|
||||
this.map_num.Size = new System.Drawing.Size(71, 20);
|
||||
this.map_num.TabIndex = 16;
|
||||
//
|
||||
// map_npc
|
||||
//
|
||||
this.map_npc.Location = new System.Drawing.Point(82, 66);
|
||||
this.map_npc.Maximum = new decimal(new int[] {
|
||||
255,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
this.map_npc.Name = "map_npc";
|
||||
this.map_npc.Size = new System.Drawing.Size(71, 20);
|
||||
this.map_npc.TabIndex = 17;
|
||||
//
|
||||
// label4
|
||||
//
|
||||
this.label4.Location = new System.Drawing.Point(6, 16);
|
||||
this.label4.Name = "label4";
|
||||
this.label4.Size = new System.Drawing.Size(70, 18);
|
||||
this.label4.TabIndex = 18;
|
||||
this.label4.Text = "Map Bank";
|
||||
//
|
||||
// label5
|
||||
//
|
||||
this.label5.Location = new System.Drawing.Point(6, 42);
|
||||
this.label5.Name = "label5";
|
||||
this.label5.Size = new System.Drawing.Size(70, 23);
|
||||
this.label5.TabIndex = 19;
|
||||
this.label5.Text = "Map #";
|
||||
//
|
||||
// label6
|
||||
//
|
||||
this.label6.Location = new System.Drawing.Point(6, 68);
|
||||
this.label6.Name = "label6";
|
||||
this.label6.Size = new System.Drawing.Size(70, 23);
|
||||
this.label6.TabIndex = 20;
|
||||
this.label6.Text = "Map NPC";
|
||||
//
|
||||
// groupBox2
|
||||
//
|
||||
this.groupBox2.Controls.Add(this.label4);
|
||||
this.groupBox2.Controls.Add(this.label6);
|
||||
this.groupBox2.Controls.Add(this.map_bank);
|
||||
this.groupBox2.Controls.Add(this.label5);
|
||||
this.groupBox2.Controls.Add(this.map_num);
|
||||
this.groupBox2.Controls.Add(this.map_npc);
|
||||
this.groupBox2.Location = new System.Drawing.Point(155, 271);
|
||||
this.groupBox2.Name = "groupBox2";
|
||||
this.groupBox2.Size = new System.Drawing.Size(166, 93);
|
||||
this.groupBox2.TabIndex = 21;
|
||||
this.groupBox2.TabStop = false;
|
||||
this.groupBox2.Text = "Script NPC";
|
||||
//
|
||||
// help_npc
|
||||
//
|
||||
this.help_npc.Location = new System.Drawing.Point(327, 283);
|
||||
this.help_npc.Name = "help_npc";
|
||||
this.help_npc.Size = new System.Drawing.Size(17, 21);
|
||||
this.help_npc.TabIndex = 22;
|
||||
this.help_npc.Text = "?";
|
||||
this.help_npc.UseVisualStyleBackColor = true;
|
||||
this.help_npc.Click += new System.EventHandler(this.Help_npcClick);
|
||||
//
|
||||
// counter_help
|
||||
//
|
||||
this.counter_help.Location = new System.Drawing.Point(327, 136);
|
||||
this.counter_help.Name = "counter_help";
|
||||
this.counter_help.Size = new System.Drawing.Size(17, 21);
|
||||
this.counter_help.TabIndex = 23;
|
||||
this.counter_help.Text = "?";
|
||||
this.counter_help.UseVisualStyleBackColor = true;
|
||||
this.counter_help.Click += new System.EventHandler(this.Counter_helpClick);
|
||||
//
|
||||
// amount_help
|
||||
//
|
||||
this.amount_help.Location = new System.Drawing.Point(327, 110);
|
||||
this.amount_help.Name = "amount_help";
|
||||
this.amount_help.Size = new System.Drawing.Size(17, 21);
|
||||
this.amount_help.TabIndex = 24;
|
||||
this.amount_help.Text = "?";
|
||||
this.amount_help.UseVisualStyleBackColor = true;
|
||||
this.amount_help.Click += new System.EventHandler(this.Amount_helpClick);
|
||||
//
|
||||
// item_help
|
||||
//
|
||||
this.item_help.Location = new System.Drawing.Point(327, 84);
|
||||
this.item_help.Name = "item_help";
|
||||
this.item_help.Size = new System.Drawing.Size(17, 21);
|
||||
this.item_help.TabIndex = 25;
|
||||
this.item_help.Text = "?";
|
||||
this.item_help.UseVisualStyleBackColor = true;
|
||||
this.item_help.Click += new System.EventHandler(this.Item_helpClick);
|
||||
//
|
||||
// xse_help
|
||||
//
|
||||
this.xse_help.Location = new System.Drawing.Point(174, 244);
|
||||
this.xse_help.Name = "xse_help";
|
||||
this.xse_help.Size = new System.Drawing.Size(21, 22);
|
||||
this.xse_help.TabIndex = 35;
|
||||
this.xse_help.Text = "?";
|
||||
this.xse_help.UseVisualStyleBackColor = true;
|
||||
this.xse_help.Click += new System.EventHandler(this.Xse_helpClick);
|
||||
//
|
||||
// xse_import
|
||||
//
|
||||
this.xse_import.Location = new System.Drawing.Point(93, 242);
|
||||
this.xse_import.Name = "xse_import";
|
||||
this.xse_import.Size = new System.Drawing.Size(75, 23);
|
||||
this.xse_import.TabIndex = 37;
|
||||
this.xse_import.Text = "XSE Import";
|
||||
this.xse_import.UseVisualStyleBackColor = true;
|
||||
this.xse_import.Click += new System.EventHandler(this.Xse_importClick);
|
||||
//
|
||||
// xse_export
|
||||
//
|
||||
this.xse_export.Location = new System.Drawing.Point(12, 242);
|
||||
this.xse_export.Name = "xse_export";
|
||||
this.xse_export.Size = new System.Drawing.Size(75, 23);
|
||||
this.xse_export.TabIndex = 36;
|
||||
this.xse_export.Text = "XSE Export";
|
||||
this.xse_export.UseVisualStyleBackColor = true;
|
||||
this.xse_export.Click += new System.EventHandler(this.Xse_exportClick);
|
||||
//
|
||||
// ME3_editor
|
||||
//
|
||||
this.AllowDrop = true;
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.ClientSize = new System.Drawing.Size(354, 371);
|
||||
this.Controls.Add(this.xse_help);
|
||||
this.Controls.Add(this.xse_import);
|
||||
this.Controls.Add(this.xse_export);
|
||||
this.Controls.Add(this.item_help);
|
||||
this.Controls.Add(this.amount_help);
|
||||
this.Controls.Add(this.counter_help);
|
||||
this.Controls.Add(this.help_npc);
|
||||
this.Controls.Add(this.groupBox2);
|
||||
this.Controls.Add(this.groupBox1);
|
||||
this.Controls.Add(this.removescript_but);
|
||||
this.Controls.Add(this.script_check);
|
||||
this.Controls.Add(this.custom_script);
|
||||
this.Controls.Add(this.counterbox);
|
||||
this.Controls.Add(this.amountbox);
|
||||
this.Controls.Add(this.itembox);
|
||||
this.Controls.Add(this.label3);
|
||||
this.Controls.Add(this.label2);
|
||||
this.Controls.Add(this.label1);
|
||||
this.Controls.Add(this.import_script_but);
|
||||
this.Controls.Add(this.export_script_but);
|
||||
this.Controls.Add(this.me3_path);
|
||||
this.Controls.Add(this.save_me3_but);
|
||||
this.Controls.Add(this.load_me3_but);
|
||||
this.Name = "ME3_editor";
|
||||
this.Text = "ME3 Editor";
|
||||
this.DragDrop += new System.Windows.Forms.DragEventHandler(this.ME3_editorDragDrop);
|
||||
this.DragEnter += new System.Windows.Forms.DragEventHandler(this.ME3_editorDragEnter);
|
||||
((System.ComponentModel.ISupportInitialize)(this.amountbox)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.counterbox)).EndInit();
|
||||
this.groupBox1.ResumeLayout(false);
|
||||
((System.ComponentModel.ISupportInitialize)(this.map_bank)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.map_num)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.map_npc)).EndInit();
|
||||
this.groupBox2.ResumeLayout(false);
|
||||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
230
wc3_tool/WC3/ME3_editor.cs
Normal file
230
wc3_tool/WC3/ME3_editor.cs
Normal file
|
|
@ -0,0 +1,230 @@
|
|||
/*
|
||||
* Created by SharpDevelop.
|
||||
* User: suloku
|
||||
* Date: 02/05/2016
|
||||
* Time: 23:40
|
||||
*
|
||||
* To change this template use Tools | Options | Coding | Edit Standard Headers.
|
||||
*/
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Data;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Windows.Forms;
|
||||
using System.IO;
|
||||
|
||||
namespace WC3_TOOL
|
||||
{
|
||||
/// <summary>
|
||||
/// Description of ME3_editor.
|
||||
/// </summary>
|
||||
public partial class ME3_editor : Form
|
||||
{
|
||||
public ME3_editor()
|
||||
{
|
||||
//
|
||||
// The InitializeComponent() call is required for Windows Forms designer support.
|
||||
//
|
||||
InitializeComponent();
|
||||
|
||||
//
|
||||
// TODO: Add constructor code after the InitializeComponent() call.
|
||||
//
|
||||
}
|
||||
|
||||
public string me3filter = "Mistery Event file|*.me3|All Files (*.*)|*.*";
|
||||
public string scriptfilter = "Script file|*.script|All Files (*.*)|*.*";
|
||||
public string xsescriptfilter = "XSE padded script file|*.gba";
|
||||
public byte[] me3buffer;
|
||||
public byte[] me3script_new;
|
||||
public static ME3 me3file;
|
||||
|
||||
//private int me3size;
|
||||
|
||||
void get_me3data()
|
||||
{
|
||||
amountbox.Value = me3file.get_item_amount();
|
||||
counterbox.Value = me3file.get_item_counter();
|
||||
itembox.SelectedIndex = me3file.get_item();
|
||||
|
||||
if(me3file.isemerald == 0)//These items aren't in emerald
|
||||
{
|
||||
if (itembox.SelectedIndex > 348)
|
||||
itembox.SelectedIndex = 348;
|
||||
}else{
|
||||
if (itembox.SelectedIndex > 376)
|
||||
itembox.SelectedIndex = 376;
|
||||
}
|
||||
|
||||
map_bank.Value = me3file.MAP_BANK;
|
||||
map_num.Value = me3file.MAP_MAP;
|
||||
map_npc.Value = me3file.MAP_PERSON;
|
||||
|
||||
}
|
||||
|
||||
void set_me3data()
|
||||
{
|
||||
me3file.set_item( (UInt16)itembox.SelectedIndex);
|
||||
me3file.set_item_amount( (byte) amountbox.Value);
|
||||
me3file.set_item_counter( (byte) counterbox.Value);
|
||||
|
||||
me3file.MAP_BANK = (byte)map_bank.Value;
|
||||
me3file.MAP_MAP = (byte)map_num.Value;
|
||||
me3file.MAP_PERSON = (byte)map_npc.Value;
|
||||
|
||||
if (radio_E.Checked == true)
|
||||
me3file.isemerald = 1;
|
||||
else if (radio_RS.Checked == true)
|
||||
me3file.isemerald = 0;
|
||||
}
|
||||
|
||||
void Load_me3(string path)
|
||||
{
|
||||
int filesize = FileIO.load_file(ref me3buffer, ref path, me3filter);
|
||||
if( filesize == SAV3.ME3_SIZE_E || filesize == SAV3.ME3_SIZE_RS )
|
||||
{
|
||||
|
||||
radio_RS.Checked = false;
|
||||
radio_E.Checked = false;
|
||||
|
||||
me3_path.Text = path;
|
||||
me3file = new ME3(me3buffer, filesize);
|
||||
|
||||
switch (me3file.isemerald)
|
||||
{
|
||||
case 0:
|
||||
radio_RS.Checked = true;
|
||||
break;
|
||||
case 1:
|
||||
radio_E.Checked = true;
|
||||
break;
|
||||
}
|
||||
|
||||
get_me3data();
|
||||
|
||||
save_me3_but.Enabled = true;
|
||||
removescript_but.Enabled = true;
|
||||
export_script_but.Enabled = true;
|
||||
import_script_but.Enabled = true;
|
||||
custom_script.Checked = false;
|
||||
script_check.Checked = true;
|
||||
|
||||
}else{
|
||||
MessageBox.Show("Invalid file size.");
|
||||
}
|
||||
}
|
||||
|
||||
void Load_me3_butClick(object sender, EventArgs e)
|
||||
{
|
||||
Load_me3(null);
|
||||
|
||||
}
|
||||
void ItemboxSelectedIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
if(me3file.isemerald == 0)//These items aren't in RS
|
||||
{
|
||||
if (itembox.SelectedIndex > 348){
|
||||
itembox.SelectedIndex = 348;
|
||||
MessageBox.Show("Selected item is not available in Ruby/Sapphire.");
|
||||
}
|
||||
}else{
|
||||
if (itembox.SelectedIndex > 376)
|
||||
itembox.SelectedIndex = 376;
|
||||
}
|
||||
}
|
||||
void Save_me3_butClick(object sender, EventArgs e)
|
||||
{
|
||||
set_me3data();
|
||||
me3file.fix_me_script_checksum();
|
||||
me3file.fix_me_item_checksum();
|
||||
|
||||
if (me3file.Edited)
|
||||
FileIO.save_data(me3file.Data, me3filter);
|
||||
else MessageBox.Show("Save has not been edited");
|
||||
}
|
||||
void Export_script_butClick(object sender, EventArgs e)
|
||||
{
|
||||
FileIO.save_data(me3file.get_script(), scriptfilter);
|
||||
}
|
||||
void Import_script_butClick(object sender, EventArgs e)
|
||||
{
|
||||
string path = null;
|
||||
int filesize = FileIO.load_file(ref me3script_new, ref path, scriptfilter);
|
||||
if( filesize <= 996 )
|
||||
{
|
||||
me3file.set_script(me3script_new);
|
||||
custom_script.Checked = true;
|
||||
script_check.Checked = me3file.has_script();
|
||||
MessageBox.Show("Custom script imported.");
|
||||
|
||||
}else{
|
||||
MessageBox.Show("Invalid file size.");
|
||||
}
|
||||
}
|
||||
void CounterboxValueChanged(object sender, EventArgs e)
|
||||
{
|
||||
//Not sure about this anymore
|
||||
/*if (counterbox.Value > amountbox.Value)
|
||||
{
|
||||
MessageBox.Show("Counter can't be bigger than total amount");
|
||||
counterbox.Value = amountbox.Value;
|
||||
}*/
|
||||
}
|
||||
void Removescript_butClick(object sender, EventArgs e)
|
||||
{
|
||||
me3file.removeScript();
|
||||
script_check.Checked = me3file.has_script();
|
||||
}
|
||||
void Help_npcClick(object sender, EventArgs e)
|
||||
{
|
||||
MessageBox.Show("These values are used to associate the script to a NPC character in the game.\n\nYou can use Advance Map to locate the values for all NPC in the game.\n\nFather at petalburg Gym is Bank 08, Map 01, NPC 01.");
|
||||
}
|
||||
void Counter_helpClick(object sender, EventArgs e)
|
||||
{
|
||||
MessageBox.Show("Every time you mix records, this number decreases by 1, even if the item isn't transfered due to the other person already having it.");
|
||||
}
|
||||
void Amount_helpClick(object sender, EventArgs e)
|
||||
{
|
||||
MessageBox.Show("Should always be 1? Changing it has no apparent effect.");
|
||||
}
|
||||
void Item_helpClick(object sender, EventArgs e)
|
||||
{
|
||||
MessageBox.Show("The item will only be transfered via record mixing if receiver doesn't own the item.");
|
||||
}
|
||||
void Xse_exportClick(object sender, EventArgs e)
|
||||
{
|
||||
FileIO.save_data(me3file.get_script_XSE(), xsescriptfilter);
|
||||
}
|
||||
void Xse_importClick(object sender, EventArgs e)
|
||||
{
|
||||
string path = null;
|
||||
int filesize = FileIO.load_file(ref me3script_new, ref path, xsescriptfilter);
|
||||
if( filesize <= 1000 )
|
||||
{
|
||||
me3file.set_script_XSE(me3script_new);
|
||||
custom_script.Checked = true;
|
||||
MessageBox.Show("Custom script imported.");
|
||||
|
||||
}else{
|
||||
MessageBox.Show("Invalid file size.");
|
||||
}
|
||||
}
|
||||
void Xse_helpClick(object sender, EventArgs e)
|
||||
{
|
||||
MessageBox.Show("XSE Export: exports the script with padding corresponding to base address of the script and *.gba extension. You can directly load (and edit) the script in XSE, script offset will be shown when using the export button.\nXSE Import: imports a *.gba script generated by this tool after editing (or not) with XSE (importing anything else will not correctly work).\n\nThese options are just for convenience, the scripts are in no way gba roms, but it's the more convenient way to edit them in XSE.");
|
||||
}
|
||||
|
||||
void ME3_editorDragEnter(object sender, DragEventArgs e)
|
||||
{
|
||||
e.Effect = DragDropEffects.All;
|
||||
}
|
||||
void ME3_editorDragDrop(object sender, DragEventArgs e)
|
||||
{
|
||||
string[] files = (string[])e.Data.GetData(DataFormats.FileDrop, false);
|
||||
Load_me3(files[0]);
|
||||
}
|
||||
}
|
||||
}
|
||||
120
wc3_tool/WC3/ME3_editor.resx
Normal file
120
wc3_tool/WC3/ME3_editor.resx
Normal file
|
|
@ -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>
|
||||
1134
wc3_tool/WC3/PKHEX/PKM.cs
Normal file
1134
wc3_tool/WC3/PKHEX/PKM.cs
Normal file
File diff suppressed because it is too large
Load Diff
949
wc3_tool/WC3/SAV3.cs
Normal file
949
wc3_tool/WC3/SAV3.cs
Normal file
|
|
@ -0,0 +1,949 @@
|
|||
/*
|
||||
* Created by SharpDevelop.
|
||||
* User: suloku
|
||||
* Date: 29/04/2016
|
||||
* Time: 14:00
|
||||
*
|
||||
* To change this template use Tools | Options | Coding | Edit Standard Headers.
|
||||
*/
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Data;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Windows.Forms;
|
||||
using System.IO;
|
||||
|
||||
namespace WC3_TOOL
|
||||
{
|
||||
/// <summary>
|
||||
/// Description of SAV3.
|
||||
/// </summary>
|
||||
public class SAV3
|
||||
{
|
||||
|
||||
public const int SAVE_SIZE = 0x20000;
|
||||
|
||||
UInt16[] DATALEN;
|
||||
//UInt16[] FRLGMAP = { 0xF24,0xF80,0xF80,0xF80,0xEC0,0xF80,0xF80,0xF80,0xF80,0xF80,0xF80,0xF80,0xF80,0x7D0,0x01C,0x100};
|
||||
UInt16[] FRLGMAP = { 0xF24,0xF80,0xF80,0xF80,0xEE8,0xF80,0xF80,0xF80,0xF80,0xF80,0xF80,0xF80,0xF80,0x7D0,0x01C,0x100};
|
||||
UInt16[] RSMAP = { 0x890,0xF80,0xF80,0xF80,0xC40,0xF80,0xF80,0xF80,0xF80,0xF80,0xF80,0xF80,0xF80,0x7D0,0xF80,0xF80};
|
||||
UInt16[] EMAP = { 0xF2C,0xF80,0xF80,0xF80,0xF08,0xF80,0xF80,0xF80,0xF80,0xF80,0xF80,0xF80,0xF80,0x7D0,0xF80,0xF80 };
|
||||
|
||||
private const int TEAM_RSE = 0x234;
|
||||
private const int TEAM_FRLG = 0x034;
|
||||
private int team_offset = 0x234;
|
||||
|
||||
private const int BERRY_OFFSET_RS = 0x2E0;
|
||||
public const int BERRY_SIZE = 0x530;
|
||||
|
||||
private const int WC_OFFSET_E = 0x56C;
|
||||
private const int WC_SCRIPT_OFFSET_E = 0x8A8;
|
||||
private const int WC_OFFSET_FRLG = 0x460;
|
||||
private const int WC_SCRIPT_OFFSET_FRLG = 0x79C;
|
||||
|
||||
private const int WC_OFFSET_E_jap = 0x490;
|
||||
private const int WC_SCRIPT_OFFSET_E_jap = 0x8A8;
|
||||
private const int WC_OFFSET_FRLG_jap = 0x384;
|
||||
private const int WC_SCRIPT_OFFSET_FRLG_jap = 0x79C;
|
||||
|
||||
private const int WCN_OFFSET_E = 0x3AC;
|
||||
private const int WCN_OFFSET_FRLG = 0x2A0;
|
||||
public const int WCN_SIZE = wc3.SIZE_WN3; //Checksum + header + Data (40bytes*11 lines)
|
||||
|
||||
private const int WCN_OFFSET_E_jap = 0x3AC;
|
||||
private const int WCN_OFFSET_FRLG_jap = 0x2A0;
|
||||
public const int WCN_SIZE_jap = wc3.SIZE_WN3_jap; //Checksum + header + Data (20bytes*11 lines)
|
||||
|
||||
private const int ME3_OFFSET_E = 0x8A8;
|
||||
public const int ME3_SIZE_E = 1012;
|
||||
private const int ME3_SCRIPT_SIZE_E = ME3_SIZE_E-8;
|
||||
private const int ME3_OFFSET_RS = 0x810;
|
||||
public const int ME3_SIZE_RS = 1012;
|
||||
private const int ME3_SCRIPT_SIZE_RS = 1004;
|
||||
private const int ME3_ITEM_SIZE = 8;
|
||||
|
||||
private const int ECT_OFFSET_RS = 0x498;
|
||||
private const int ECT_OFFSET_E = 0xBEC;
|
||||
private const int ECT_OFFSET_FRLG = 0x4A0;
|
||||
|
||||
//TV show offsets
|
||||
private const int TV_EVENT_RS = 0xBBC;
|
||||
private const int TV_OUTBREAK_RS = 0x85C;
|
||||
private const int TV_SHOWS_RS = 0x8EC;
|
||||
private const int TV_OUTBREAK_DATA_RS = 0xBFC;
|
||||
|
||||
private const int TV_EVENT_E = 0xC50;
|
||||
private const int TV_OUTBREAK_E = 0x8CC;
|
||||
private const int TV_SHOWS_E = 0x980;
|
||||
private const int TV_OUTBREAK_DATA_E = 0xC90;
|
||||
|
||||
|
||||
// Global Settings
|
||||
// Save Data Attributes
|
||||
public byte[] Data;
|
||||
public bool Edited;
|
||||
public readonly bool Exportable;
|
||||
public readonly byte[] BAK;
|
||||
public string FileName, FilePath;
|
||||
|
||||
public bool isvalid = true;
|
||||
public int game = -1;
|
||||
public bool has_WC = false;
|
||||
public bool has_WCN = false;
|
||||
public bool has_mistery_gift = false;
|
||||
public bool has_mistery_event = false;
|
||||
|
||||
public bool isjap = false;
|
||||
public int language = 0;
|
||||
|
||||
byte[] boxbuffer = new byte[(3968*8)+2000];
|
||||
/*
|
||||
0x0201 Japanese
|
||||
0x0202 English
|
||||
0x0203 French
|
||||
0x0204 Italian
|
||||
0x0205 German
|
||||
0x0206 Korean*
|
||||
0x0207 Spanish
|
||||
*/
|
||||
|
||||
private int wc_offset;
|
||||
private int wc_script_offset;
|
||||
private int wcn_offset;
|
||||
private int me3_offset;
|
||||
public int me3_size;
|
||||
private int ect_offset;
|
||||
private int tv_event_offset;
|
||||
private int tv_outbreak_offset;
|
||||
private int tv_shows_offset;
|
||||
private int tv_outbreak_data_offset;
|
||||
|
||||
private UInt16 noCash;
|
||||
private UInt32 oldSav = 0;
|
||||
private UInt32 currentSav = 0;
|
||||
private UInt32 sec0, s0, sx, x;
|
||||
private UInt32[] sec = new UInt32[14];
|
||||
|
||||
public SAV3(byte[] data)
|
||||
{
|
||||
Data = (byte[])(data ?? new byte[SAVE_SIZE]).Clone();
|
||||
BAK = (byte[])Data.Clone();
|
||||
Exportable = !Data.SequenceEqual(new byte[Data.Length]);
|
||||
|
||||
checkNocash();
|
||||
checkCurrentSav();
|
||||
|
||||
// get section locations in current save
|
||||
for(s0 = 0; s0 <= 13; s0++){
|
||||
sec0 = Data[0x0FF4 + 0x1000 * s0 + currentSav];
|
||||
if (sec0 == 0x0){
|
||||
for(sx = 0; sx <=13; sx++){
|
||||
if((s0 + sx) <= 13){
|
||||
sec[sx] = s0 + sx;
|
||||
}
|
||||
else {
|
||||
sec[sx] = s0 + sx - 14;
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
// check if all sections were found
|
||||
for(x = 0; x <= 13; x++){
|
||||
if(Data[0x0FF4 + 0x1000 * sec[x] + currentSav] != x){
|
||||
isvalid = false;
|
||||
}
|
||||
}
|
||||
|
||||
whichgame();//Here we set offsets and flags
|
||||
buildBoxBuffer();//Needed for language detection
|
||||
isJap();
|
||||
getLanguage();
|
||||
if (language == 1)
|
||||
isjap = true;
|
||||
|
||||
}
|
||||
public byte[] getData(int Offset, int Length)
|
||||
{
|
||||
return Data.Skip(Offset).Take(Length).ToArray();
|
||||
}
|
||||
public int getBlockOffset(int Offset, int block)
|
||||
{
|
||||
return (int)(Offset + 0x1000 * sec[block] + currentSav);
|
||||
}
|
||||
public byte[] getDataFromBlock(int Offset, int Length, int block)
|
||||
{
|
||||
return Data.Skip((int)(Offset + 0x1000 * sec[block] + currentSav)).Take(Length).ToArray();
|
||||
}
|
||||
public byte[] getDataFromBlock_old(int Offset, int Length, int block)
|
||||
{
|
||||
if (block == 0)
|
||||
return Data.Skip((int)(Offset + 0x1000 * sec[13] + oldSav)).Take(Length).ToArray();
|
||||
else
|
||||
return Data.Skip((int)(Offset + 0x1000 * sec[block-1] + oldSav)).Take(Length).ToArray();
|
||||
}
|
||||
public void setData(byte[] input, int Offset)
|
||||
{
|
||||
input.CopyTo(Data, Offset);
|
||||
Edited = true;
|
||||
}
|
||||
public void setDataToBlock(byte[] input, int Offset, int block)
|
||||
{
|
||||
input.CopyTo(Data, Offset + 0x1000 * sec[block] + currentSav);
|
||||
Edited = true;
|
||||
}
|
||||
public void setDataToBlock_old(byte[] input, int Offset, int block)
|
||||
{
|
||||
if (block == 0)
|
||||
input.CopyTo(Data, Offset + 0x1000 * sec[13] + oldSav);
|
||||
else
|
||||
input.CopyTo(Data, Offset + 0x1000 * sec[block-1] + oldSav);
|
||||
|
||||
//input.CopyTo(Data, Offset + 0x1000 * sec[block] + oldSav);
|
||||
Edited = true;
|
||||
}
|
||||
public void prompt_region(string text)
|
||||
{
|
||||
DialogResult dialogResult = MessageBox.Show(text, "Region Input", MessageBoxButtons.YesNo);
|
||||
if(dialogResult == DialogResult.Yes)
|
||||
{
|
||||
isjap = true;
|
||||
}
|
||||
else if (dialogResult == DialogResult.No)
|
||||
{
|
||||
isjap = false;
|
||||
}
|
||||
}
|
||||
public void isJap()
|
||||
{
|
||||
if (game == 2) //FR/LG
|
||||
{
|
||||
if (Data[getBlockOffset(0xbd2, 4)] != 0x00) // This will only not be 0x00 on USA/EUR save, but requires rival name to have at least 6 characters
|
||||
isjap = false;
|
||||
else if (language == 1)
|
||||
isjap = true;
|
||||
else
|
||||
isjap = false;
|
||||
//prompt_region("Can't autodetect region for FRLG.\n\nIs this a Japanese savegame?");
|
||||
}
|
||||
else
|
||||
{
|
||||
if (Data[getBlockOffset(0x07, 0)] == 0x00)
|
||||
isjap = true;
|
||||
else
|
||||
isjap = false;
|
||||
}
|
||||
}
|
||||
public void updateOffsets()
|
||||
{
|
||||
switch(game)
|
||||
{
|
||||
case 0://Rubby/Sapphire
|
||||
DATALEN = RSMAP;
|
||||
team_offset = TEAM_RSE;
|
||||
|
||||
if(isjap) //Todo different offsets in jap version???
|
||||
{
|
||||
}
|
||||
else
|
||||
{
|
||||
}
|
||||
me3_offset = ME3_OFFSET_RS;
|
||||
me3_size = ME3_SIZE_RS;
|
||||
|
||||
ect_offset = ECT_OFFSET_RS;
|
||||
|
||||
//TV data
|
||||
tv_event_offset = TV_EVENT_RS;
|
||||
tv_outbreak_offset = TV_OUTBREAK_RS;
|
||||
tv_shows_offset = TV_SHOWS_RS;
|
||||
tv_outbreak_data_offset = TV_OUTBREAK_DATA_RS;
|
||||
|
||||
break;
|
||||
case 1: //Emerald
|
||||
DATALEN = EMAP;
|
||||
team_offset = TEAM_RSE;
|
||||
|
||||
if(isjap)
|
||||
{
|
||||
wc_offset = WC_OFFSET_E_jap;
|
||||
wc_script_offset = WC_SCRIPT_OFFSET_E_jap;
|
||||
wcn_offset = WCN_OFFSET_E_jap;
|
||||
}
|
||||
else
|
||||
{
|
||||
wc_offset = WC_OFFSET_E;
|
||||
wc_script_offset = WC_SCRIPT_OFFSET_E;
|
||||
wcn_offset = WCN_OFFSET_E;
|
||||
}
|
||||
|
||||
me3_offset = ME3_OFFSET_E;
|
||||
me3_size = ME3_SIZE_E;
|
||||
|
||||
ect_offset = ECT_OFFSET_E;
|
||||
|
||||
//TV data
|
||||
tv_event_offset = TV_EVENT_E;
|
||||
tv_outbreak_offset = TV_OUTBREAK_E;
|
||||
tv_shows_offset = TV_SHOWS_E;
|
||||
tv_outbreak_data_offset = TV_OUTBREAK_DATA_E;
|
||||
|
||||
break;
|
||||
case 2: //Fire Red/Leaf Green
|
||||
DATALEN = FRLGMAP;
|
||||
team_offset = TEAM_FRLG;
|
||||
|
||||
if(isjap)
|
||||
{
|
||||
wc_offset = WC_OFFSET_FRLG_jap;
|
||||
wc_script_offset = WC_SCRIPT_OFFSET_FRLG_jap;
|
||||
wcn_offset = WCN_OFFSET_FRLG_jap;
|
||||
}
|
||||
else
|
||||
{
|
||||
wc_offset = WC_OFFSET_FRLG;
|
||||
wc_script_offset = WC_SCRIPT_OFFSET_FRLG;
|
||||
wcn_offset = WCN_OFFSET_FRLG;
|
||||
}
|
||||
|
||||
ect_offset = ECT_OFFSET_FRLG;
|
||||
|
||||
break;
|
||||
}
|
||||
has_Mistery();
|
||||
has_WC3();
|
||||
hasWCN();
|
||||
has_EggEvent_Flag();
|
||||
}
|
||||
public void whichgame()
|
||||
{
|
||||
byte[] gamecode = getDataFromBlock(0x00AC, 4, 0);
|
||||
if ( BitConverter.ToUInt32(gamecode, 0) == 0x00) {
|
||||
game = 0; // Ruby or Sapphire
|
||||
|
||||
} else if (BitConverter.ToUInt32(gamecode, 0) == 0x01) {
|
||||
game = 2; //Fire Red or Leaf Green
|
||||
} else {
|
||||
game = 1; //Emerald
|
||||
}
|
||||
updateOffsets();
|
||||
}
|
||||
private void buildBoxBuffer()
|
||||
{
|
||||
//Build full box buffer
|
||||
int i;
|
||||
for (i=0; i<8; i++)
|
||||
{
|
||||
getDataFromBlock(0, 3968, 5+i).CopyTo(boxbuffer, i*3968);
|
||||
}
|
||||
getDataFromBlock(0, 2000, 13).CopyTo(boxbuffer, 8*3968);
|
||||
}
|
||||
public byte[] getPkmFromBox(int index, int box)
|
||||
{
|
||||
|
||||
byte[] pkm = new byte[0x50];
|
||||
boxbuffer.Skip(4+index*0x50+(0x50*30*box)).Take(0x50).ToArray().CopyTo(pkm, 0);
|
||||
|
||||
return pkm;
|
||||
}
|
||||
|
||||
public void getLanguage()
|
||||
{
|
||||
int[] count = new int[7];
|
||||
int i;
|
||||
UInt16 lang;
|
||||
|
||||
//Check party pokemon language
|
||||
UInt32 teamSize = BitConverter.ToUInt32(getDataFromBlock(team_offset, 4, 1), 0);
|
||||
if (teamSize > 6 || teamSize == 0)
|
||||
teamSize = 1;//Should never happen
|
||||
|
||||
for (i = 0; i < teamSize; i++)
|
||||
{
|
||||
lang = BitConverter.ToUInt16(getDataFromBlock((team_offset+4) + (0x64*i) + 0x12, 2, 1), 0);
|
||||
switch (lang)
|
||||
{
|
||||
case 0x0201:
|
||||
count[0]++;
|
||||
break;
|
||||
case 0x0202:
|
||||
count[1]++;
|
||||
break;
|
||||
case 0x0203:
|
||||
count[2]++;
|
||||
break;
|
||||
case 0x0204:
|
||||
count[3]++;
|
||||
break;
|
||||
case 0x0205:
|
||||
count[4]++;
|
||||
break;
|
||||
case 0x0206:
|
||||
count[5]++;
|
||||
break;
|
||||
case 0x0207:
|
||||
count[6]++;
|
||||
break;
|
||||
}
|
||||
|
||||
}
|
||||
//Check pc pokemon language
|
||||
int box;
|
||||
byte[] pkm;
|
||||
for (box=0; box < 14; box++)
|
||||
{
|
||||
for (i=0; i<30; i++)
|
||||
{
|
||||
pkm = getPkmFromBox(i, box);
|
||||
lang = BitConverter.ToUInt16(pkm, 0x12);
|
||||
switch (lang)
|
||||
{
|
||||
case 0x0201:
|
||||
count[0]++;
|
||||
break;
|
||||
case 0x0202:
|
||||
count[1]++;
|
||||
break;
|
||||
case 0x0203:
|
||||
count[2]++;
|
||||
break;
|
||||
case 0x0204:
|
||||
count[3]++;
|
||||
break;
|
||||
case 0x0205:
|
||||
count[4]++;
|
||||
break;
|
||||
case 0x0206:
|
||||
count[5]++;
|
||||
break;
|
||||
case 0x0207:
|
||||
count[6]++;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//Check Daycare pokemon language
|
||||
/*
|
||||
* Todo
|
||||
RS offsets:
|
||||
dayCare1Offset = 0x11C;
|
||||
dayCare2Offset = 0x16C;
|
||||
|
||||
Emerald offsets:
|
||||
dayCare1Offset = 0x1B0;
|
||||
dayCare2Offset = 0x23C;
|
||||
|
||||
FRLG offsets?
|
||||
*/
|
||||
|
||||
//Get the most frecuent language
|
||||
for (i = 0; i<7; i++)
|
||||
{
|
||||
if (count.Max() == count[i]){
|
||||
if(count[i]==0){
|
||||
MessageBox.Show("Couldn't auto-detect savegame's language. Defaulting to English, please select the correct value");
|
||||
language = 2; //Default to english
|
||||
}else{
|
||||
language = i+1;
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
public void hasWCN()
|
||||
{
|
||||
byte[] wcn = new byte[0x4];
|
||||
byte[] temp = getDataFromBlock(wcn_offset, 0x4, 4);// Checksum
|
||||
|
||||
if (BitConverter.ToInt32(temp, 0) == 0)
|
||||
has_WCN = false;
|
||||
else
|
||||
has_WCN = true;
|
||||
}
|
||||
|
||||
public void has_WC3()
|
||||
{
|
||||
byte[] wc3 = new byte[0x4];
|
||||
byte[] temp = getDataFromBlock(wc_offset, 0x4, 4);// Checksum
|
||||
|
||||
if (BitConverter.ToInt32(temp, 0) == 0)
|
||||
has_WC = false;
|
||||
else
|
||||
has_WC = true;
|
||||
}
|
||||
public void has_Mistery()
|
||||
{
|
||||
//Check if save has enabled mistery gift
|
||||
byte[] check = new byte[1];
|
||||
switch (game)
|
||||
{
|
||||
case 0://Not that it has wondercards...but let's see the code for it
|
||||
check = getDataFromBlock(0x3A9, 1, 2);
|
||||
if ( (check[0]&0x10) == 0)
|
||||
has_mistery_event = false;
|
||||
else
|
||||
has_mistery_event = true;
|
||||
break;
|
||||
|
||||
case 1: //Emerald
|
||||
check = getDataFromBlock(0x405, 1, 2);
|
||||
if ( (check[0]&0x10) == 0)
|
||||
has_mistery_event = false;
|
||||
else
|
||||
has_mistery_event = true;
|
||||
|
||||
check = getDataFromBlock(0x40B, 1, 2);
|
||||
if ( (check[0]&0x8) == 0)
|
||||
has_mistery_gift = false;
|
||||
else
|
||||
has_mistery_gift = true;
|
||||
break;
|
||||
case 2: //FRLG
|
||||
check = getDataFromBlock(0x67, 1, 2);
|
||||
if ( (check[0]&0x2) == 0)
|
||||
has_mistery_gift = false;
|
||||
else
|
||||
has_mistery_gift = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
public void enable_Mistery() //TO DO: emerald mistery event on non-jap?
|
||||
{
|
||||
//Check if save has enabled mistery gift
|
||||
byte[] check = new byte[1];
|
||||
switch (game)
|
||||
{
|
||||
case 0://Not that it has wondercards...but let's see the code for it
|
||||
check = getDataFromBlock(0x3A9, 1, 2);
|
||||
if ( (check[0]&0x10) == 0){
|
||||
Data[getBlockOffset(0x3A9, 2)] = (byte)(check[0]|0x10);
|
||||
update_section_chk(2);
|
||||
}
|
||||
break;
|
||||
|
||||
case 1: //Emerald
|
||||
if (isjap == true) // Mistery event. Save gets deleted if enabled in EUR/USA version
|
||||
{
|
||||
check = getDataFromBlock(0x405, 1, 2);
|
||||
if ( (check[0]&0x10) == 0){
|
||||
Data[getBlockOffset(0x405, 2)] = (byte)(check[0]|0x10);
|
||||
update_section_chk(2);
|
||||
}
|
||||
}
|
||||
|
||||
check = getDataFromBlock(0x40B, 1, 2);
|
||||
if ( (check[0]&0x8) == 0){
|
||||
Data[getBlockOffset(0x40B, 2)] = (byte)(check[0]|0x8);
|
||||
update_section_chk(2);
|
||||
}
|
||||
break;
|
||||
case 2: //FRLG
|
||||
check = getDataFromBlock(0x67, 1, 2);
|
||||
if ( (check[0]&0x2) == 0){
|
||||
Data[getBlockOffset(0x67, 2)] = (byte)(check[0]|0x2);
|
||||
update_section_chk(2);
|
||||
}
|
||||
break;
|
||||
}
|
||||
has_Mistery();
|
||||
}
|
||||
public byte[] get_WC3()
|
||||
{
|
||||
byte[] wc3;
|
||||
if (isjap)
|
||||
{
|
||||
wc3 = new byte[0x4 + 0xA4 + 0x28 + 0x28 + 4 + 0x3E8]; // Checksum + WC + two extra regions + Checksum + Script
|
||||
getDataFromBlock(wc_offset, 0x4 + 0xA4 + 0x28, 4).CopyTo(wc3, 0);// Checksum + WC + 40 bytes region (includes icon)
|
||||
getDataFromBlock(wc_offset + 0x4 + 0x14C + 0x28 + 0xC, 0x28, 4).CopyTo(wc3, 0x4 + 0xA4 + 0x28);//0x28 bytes after survey data
|
||||
getDataFromBlock(wc_script_offset, 4 + 1000 , 4).CopyTo(wc3, 0x4 + 0xA4 + 0x28 + 0x28);//script data
|
||||
}else
|
||||
{
|
||||
wc3 = new byte[0x4 + 0x14C + 0x28 + 0x28 + 4 + 0x3E8];
|
||||
/*
|
||||
byte[] temp = getDataFromBlock(wc_offset, 0x4 + 0x14C + 0x28, 4);// Checksum + WC + 40 bytes region (includes icon)
|
||||
temp.CopyTo(wc3, 0);
|
||||
temp = getDataFromBlock(wc_offset + 0x4 + 0x14C + 0x28 + 0xC, 0x28, 4);//0x28 bytes after survey data
|
||||
temp.CopyTo(wc3, 0x4 + 0x14C + 0x28);
|
||||
temp = getDataFromBlock(wc_script_offset, 4 + 1000 , 4);//script data
|
||||
temp.CopyTo(wc3, 0x4 + 0x14C + 0x28 + 0x28);
|
||||
*/
|
||||
getDataFromBlock(wc_offset, 0x4 + 0x14C + 0x28, 4).CopyTo(wc3, 0);// Checksum + WC + 40 bytes region (includes icon)
|
||||
getDataFromBlock(wc_offset + 0x4 + 0x14C + 0x28 + 0xC, 0x28, 4).CopyTo(wc3, 0x4 + 0x14C + 0x28);//0x28 bytes after survey data
|
||||
getDataFromBlock(wc_script_offset, 4 + 1000 , 4).CopyTo(wc3, 0x4 + 0x14C + 0x28 + 0x28);//script data
|
||||
}
|
||||
return wc3;
|
||||
}
|
||||
|
||||
public void set_WC3(byte[] wc3)
|
||||
{
|
||||
if (isjap)
|
||||
{
|
||||
setDataToBlock(wc3.Skip(0).Take(0x4 + 0xA4).ToArray(), wc_offset, 4);// Checksum + WC
|
||||
setDataToBlock(wc3.Skip(0x4 + 0xA4 + 0xA).Take(0x2).ToArray(), wc_offset + 0x4 + 0xA4 + 0xA, 4);// Icon
|
||||
//setDataToBlock(wc3.Skip(0x4 + 0xA4 + 0x28).Take(0x28).ToArray(), wc_offset + 0x4 + 0xA4 + 0x28 + 0xC, 4);//0x28 bytes after survey data
|
||||
setDataToBlock(wc3.Skip(0x4 + 0xA4 + 0x28 + 0x28).Take(4+1000).ToArray(), wc_script_offset, 4);//script data
|
||||
}
|
||||
else
|
||||
{
|
||||
//setDataToBlock(wc3.Skip(0).Take(0x4 + 0x14C + 0x28).ToArray(), wc_offset, 4);// Checksum + WC + 40 bytes region (includes icon)
|
||||
setDataToBlock(wc3.Skip(0).Take(0x4 + 0x14C).ToArray(), wc_offset, 4);// Checksum + WC
|
||||
setDataToBlock(wc3.Skip(0x4 + 0x14C + 0xA).Take(0x2).ToArray(), wc_offset + 0x4 + 0x14C + 0xA, 4);// Icon
|
||||
//setDataToBlock(wc3.Skip(0x4 + 0x14C + 0x28).Take(0x28).ToArray(), wc_offset + 0x4 + 0x14C + 0x28 + 0xC, 4);//0x28 bytes after survey data
|
||||
setDataToBlock(wc3.Skip(0x4 + 0x14C + 0x28 + 0x28).Take(4+1000).ToArray(), wc_script_offset, 4);//script data
|
||||
}
|
||||
}
|
||||
|
||||
public byte[] get_WCN()
|
||||
{
|
||||
byte[] wcn;
|
||||
if(isjap)
|
||||
{
|
||||
wcn = new byte[WCN_SIZE_jap];
|
||||
getDataFromBlock(wcn_offset, WCN_SIZE_jap, 4).CopyTo(wcn, 0);
|
||||
}
|
||||
else
|
||||
{
|
||||
wcn = new byte[WCN_SIZE];
|
||||
getDataFromBlock(wcn_offset, WCN_SIZE, 4).CopyTo(wcn, 0);
|
||||
}
|
||||
|
||||
return wcn;
|
||||
}
|
||||
|
||||
public void set_WCN(byte[] wcn)
|
||||
{
|
||||
if(isjap)
|
||||
{
|
||||
setDataToBlock(wcn.Skip(0).Take(WCN_SIZE_jap).ToArray(), wcn_offset, 4);// Checksum + WCN
|
||||
}
|
||||
else
|
||||
{
|
||||
setDataToBlock(wcn.Skip(0).Take(WCN_SIZE).ToArray(), wcn_offset, 4);// Checksum + WCN
|
||||
}
|
||||
}
|
||||
|
||||
public byte[] get_ECT()
|
||||
{
|
||||
byte[] ect = new byte[ECT.SIZE_ECT];
|
||||
getDataFromBlock(ect_offset, ECT.SIZE_ECT, 0).CopyTo(ect, 0);
|
||||
|
||||
return ect;
|
||||
}
|
||||
|
||||
public void set_ECT(byte[] ect)
|
||||
{
|
||||
setDataToBlock(ect.Skip(0).Take(ECT.SIZE_ECT).ToArray(), ect_offset, 0);
|
||||
}
|
||||
|
||||
public byte[] get_ECB()
|
||||
{
|
||||
byte[] berry = new byte[BERRY_SIZE];
|
||||
getDataFromBlock(BERRY_OFFSET_RS, BERRY_SIZE, 4).CopyTo(berry, 0);
|
||||
|
||||
return berry;
|
||||
}
|
||||
|
||||
public void set_ECB(byte[] berry)
|
||||
{
|
||||
set_Enigma_Flag();
|
||||
setDataToBlock(berry.Skip(0).Take(BERRY_SIZE).ToArray(), BERRY_OFFSET_RS, 4);
|
||||
}
|
||||
|
||||
public bool has_berry()
|
||||
{
|
||||
byte[] check = getDataFromBlock(BERRY_OFFSET_RS, 1, 4);
|
||||
if (check[0] == 0x00)
|
||||
return false;
|
||||
else
|
||||
return true;
|
||||
}
|
||||
|
||||
public int has_ME3()
|
||||
{
|
||||
byte[] me3 = get_ME3();
|
||||
//MessageBox.Show(me3.Length.ToString());
|
||||
|
||||
if (BitConverter.ToInt32(me3, 0) == 0) // No script
|
||||
{ //MessageBox.Show(BitConverter.ToInt32(me3, 0).ToString());
|
||||
//MessageBox.Show(BitConverter.ToInt32(me3, me3_size-ME3_ITEM_SIZE).ToString());
|
||||
//MessageBox.Show(me3[1004].ToString());
|
||||
if (BitConverter.ToInt32(me3, me3_size-ME3_ITEM_SIZE) == 0) //No item either
|
||||
return 0; //No me3
|
||||
else
|
||||
return 2; //No me3, but item data is present
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
public byte[] get_ME3()
|
||||
{
|
||||
byte[] me3 = new byte[me3_size];
|
||||
getDataFromBlock(me3_offset, me3_size, 4).CopyTo(me3, 0);
|
||||
|
||||
return me3;
|
||||
}
|
||||
public void set_ME3(byte[] me3)
|
||||
{
|
||||
setDataToBlock(me3.Skip(0).Take(me3_size).ToArray(), me3_offset, 4);// Script+item
|
||||
}
|
||||
public byte[] get_decorations()
|
||||
{
|
||||
byte[] decor = new byte[150];
|
||||
if (game == 0){
|
||||
getDataFromBlock(0x7a0, 150, 3).CopyTo(decor, 0);
|
||||
}else if (game == 1)
|
||||
{
|
||||
getDataFromBlock(0x834, 150, 3).CopyTo(decor, 0);
|
||||
}
|
||||
return decor;
|
||||
}
|
||||
public void set_decoration(byte[] decor)
|
||||
{
|
||||
if (game == 0)
|
||||
setDataToBlock(decor.Skip(0).Take(150).ToArray(), 0x7a0, 3);
|
||||
else if (game == 1)
|
||||
setDataToBlock(decor.Skip(0).Take(150).ToArray(), 0x834, 3);
|
||||
}
|
||||
|
||||
//TV shows
|
||||
public byte[] get_TV_EVENT()
|
||||
{
|
||||
byte[] tvevent = new byte[0x4*16];
|
||||
getDataFromBlock(tv_event_offset, 0x4*16, 3).CopyTo(tvevent, 0);
|
||||
|
||||
return tvevent;
|
||||
}
|
||||
|
||||
public void set_TV_EVENT(byte[] tvevent)
|
||||
{
|
||||
setDataToBlock(tvevent.Skip(0).Take(0x4*16).ToArray(), tv_event_offset, 3);
|
||||
}
|
||||
public byte[] get_TV_OUTBREAK()
|
||||
{
|
||||
byte[] tvoutbreak = new byte[0x24];
|
||||
getDataFromBlock(tv_outbreak_offset, 0x24, 3).CopyTo(tvoutbreak, 0);
|
||||
|
||||
return tvoutbreak;
|
||||
}
|
||||
public void set_TV_OUTBREAK(byte[] tvoutbreak)
|
||||
{
|
||||
setDataToBlock(tvoutbreak.Skip(0).Take(0x24).ToArray(), tv_outbreak_offset, 3);
|
||||
}
|
||||
|
||||
public byte[] get_TV_SHOWS()
|
||||
{
|
||||
byte[] tvshows = new byte[0x24*7];
|
||||
getDataFromBlock(tv_shows_offset, 0x24*7, 3).CopyTo(tvshows, 0);
|
||||
|
||||
return tvshows;
|
||||
}
|
||||
public void set_TV_SHOWS(byte[] tvshows)
|
||||
{
|
||||
setDataToBlock(tvshows.Skip(0).Take(0x24*7).ToArray(), tv_shows_offset, 3);
|
||||
}
|
||||
|
||||
public byte[] get_TV_OUTBREAK_EXTRA()
|
||||
{
|
||||
byte[] tvoutbreak_extra = new byte[0x14];
|
||||
getDataFromBlock(tv_outbreak_data_offset, 0x14, 3).CopyTo(tvoutbreak_extra, 0);
|
||||
|
||||
return tvoutbreak_extra;
|
||||
}
|
||||
public void set_TV_OUTBREAK_EXTRA(byte[] tvoutbreak_extra)
|
||||
{
|
||||
setDataToBlock(tvoutbreak_extra.Skip(0).Take(0x14).ToArray(), tv_outbreak_data_offset, 3);
|
||||
}
|
||||
|
||||
// check for the nocash signature
|
||||
private void checkNocash()
|
||||
{
|
||||
|
||||
if (Data[0x0] == 0x4E && Data[0x01] == 0x6F && Data[0x02] == 0x63 &&
|
||||
Data[0x03] == 0x61 && Data[0x04] == 0x73 && Data[0x05] == 0x68)
|
||||
{
|
||||
noCash = 0x4C;
|
||||
}
|
||||
else
|
||||
{
|
||||
noCash = 0x0;
|
||||
}
|
||||
}
|
||||
// find current save by comparing both save counters from first and second save block
|
||||
void checkCurrentSav()
|
||||
{
|
||||
UInt64 savIndex1, savIndex2;
|
||||
|
||||
savIndex1 = (UInt64) (
|
||||
(Data[0xFFF + noCash] <<24 & 0xFFFFFFFF) +
|
||||
(Data[0xFFE + noCash] <<16 & 0xFFFFFF) +
|
||||
(Data[0xFFD + noCash] <<8 & 0xFFFF) +
|
||||
(Data[0xFFC + noCash] & 0xFF) );
|
||||
savIndex2 = (UInt64) (
|
||||
(Data[0xEFFF + noCash] <<24 & 0xFFFFFFFF) +
|
||||
(Data[0xEFFE + noCash] <<16 & 0xFFFFFF) +
|
||||
(Data[0xEFFD + noCash] <<8 & 0xFFFF) +
|
||||
(Data[0xEFFC + noCash] & 0xFF) );
|
||||
|
||||
if (savIndex1 >= savIndex2)
|
||||
{
|
||||
currentSav = (UInt16) (0x0 + noCash);
|
||||
oldSav = (UInt16) (0xE000 + noCash);
|
||||
}
|
||||
else if (savIndex1 < savIndex2)
|
||||
{
|
||||
currentSav = (UInt16) (0xE000 + noCash);
|
||||
oldSav = (UInt16) (0x0 + noCash);
|
||||
}
|
||||
}
|
||||
//From Kaphoticc's PSavFixV2
|
||||
private Int32 Chksum(int length, byte[] Data)
|
||||
{
|
||||
Int32 Chk,i,tmp;
|
||||
length = length>>2;
|
||||
Chk=0;
|
||||
|
||||
for(i=0; i<length; i++){
|
||||
Chk = unchecked( Chk + (Int32) BitConverter.ToInt32(Data, i*4));
|
||||
//MessageBox.Show(BitConverter.ToInt32(Data, i*4).ToString("X"));
|
||||
}
|
||||
//MessageBox.Show(Chk.ToString("X"));
|
||||
tmp = (Int32)(Chk>>16);
|
||||
tmp +=Chk;
|
||||
|
||||
Chk = (Int32)(tmp&0xFFFF);
|
||||
|
||||
return Chk;
|
||||
}
|
||||
public void update_section_chk(int block)
|
||||
{
|
||||
ushort chk = (ushort)(Chksum(DATALEN[block], getDataFromBlock(0, DATALEN[block], block)) & 0x0000FFFF);
|
||||
//MessageBox.Show(chk.ToString("X"));
|
||||
setDataToBlock(BitConverter.GetBytes(chk), 0xFF6, block);
|
||||
}
|
||||
public void update_section_chk_old(int block)
|
||||
{
|
||||
ushort chk = (ushort)(Chksum(DATALEN[block], getDataFromBlock_old(0, DATALEN[block], block)) & 0x0000FFFF);
|
||||
//MessageBox.Show(chk.ToString("X"));
|
||||
setDataToBlock_old(BitConverter.GetBytes(chk), 0xFF6, block);
|
||||
}
|
||||
public void fix_section_checksums()
|
||||
{
|
||||
//update_section_chk(2);
|
||||
int i=0;
|
||||
for(i=0;i<14;i++)
|
||||
update_section_chk(i);
|
||||
for(i=0;i<14;i++)
|
||||
update_section_chk_old(i);
|
||||
}
|
||||
public byte[] getSortedSave(int save)
|
||||
{
|
||||
byte[] sortedsave = new byte[0x1000*14];
|
||||
int i=0;
|
||||
for (i=0;i<14;i++)
|
||||
{
|
||||
if (save == 0)
|
||||
getDataFromBlock(0, 0x1000, i).CopyTo(sortedsave, 0x1000*i);
|
||||
else
|
||||
getDataFromBlock_old(0, 0x1000, i).CopyTo(sortedsave, 0x1000*i);
|
||||
}
|
||||
|
||||
return sortedsave;
|
||||
}
|
||||
|
||||
public void enable_eon_emerald()
|
||||
{
|
||||
byte flag;
|
||||
flag = getDataFromBlock(0x49A, 1, 2)[0];
|
||||
flag = (byte)(flag|0x01);
|
||||
Data[getBlockOffset(0x49A, 2)] = flag;
|
||||
update_section_chk(2);
|
||||
|
||||
//Input distro item
|
||||
Data[getBlockOffset(0xC94, 4)] = 0xAC;
|
||||
Data[getBlockOffset(0xC95, 4)] = 0x0;
|
||||
Data[getBlockOffset(0xC96, 4)] = 0x0;
|
||||
Data[getBlockOffset(0xC97, 4)] = 0x0;
|
||||
//Item
|
||||
Data[getBlockOffset(0xC98, 4)] = 0x01;
|
||||
Data[getBlockOffset(0xC99, 4)] = 0x97;
|
||||
Data[getBlockOffset(0xC9A, 4)] = 0x13;
|
||||
Data[getBlockOffset(0xC9B, 4)] = 0x01;
|
||||
}
|
||||
public bool has_EggEvent_Flag()
|
||||
{
|
||||
//Check if save has enabled mistery gift
|
||||
byte[] check = new byte[1];
|
||||
switch (game)
|
||||
{
|
||||
/* case 0://Not that it has wondercards...but let's see the code for it
|
||||
check = getDataFromBlock(0x3A9, 1, 2);
|
||||
if ( (check[0]&0x10) == 0)
|
||||
has_mistery_event = false;
|
||||
else
|
||||
has_mistery_event = true;
|
||||
break;
|
||||
*/
|
||||
case 1: //Emerald
|
||||
check = getDataFromBlock(0x32C, 1, 2);
|
||||
if ( (check[0]&0x10) == 0)
|
||||
return false;
|
||||
else
|
||||
return true;
|
||||
//break;
|
||||
case 2: //FRLG
|
||||
check = getDataFromBlock(0xf5B, 1, 1);
|
||||
if ( (check[0]&0x01) == 0)
|
||||
return false;
|
||||
else
|
||||
return true;
|
||||
//break;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
public void clear_EggEvent_Flag()
|
||||
{
|
||||
//Check if save has enabled mistery gift
|
||||
byte[] check = new byte[1];
|
||||
switch (game)
|
||||
{
|
||||
case 1: //Emerald
|
||||
check = getDataFromBlock(0x32C, 1, 2);
|
||||
if ( (check[0]&0x10) != 0)
|
||||
{
|
||||
check[0] = (byte)(check[0]&(~0x10));
|
||||
setDataToBlock(check, 0x32C, 2);
|
||||
update_section_chk(2);
|
||||
}
|
||||
break;
|
||||
case 2: //FRLG
|
||||
check = getDataFromBlock(0xf5B, 1, 1);
|
||||
if ( (check[0]&0x01) != 0)
|
||||
{
|
||||
check[0] = (byte)(check[0]&(~0x01));
|
||||
setDataToBlock(check, 0xf5b, 1);
|
||||
update_section_chk(1);
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
public void set_Enigma_Flag()
|
||||
{
|
||||
//Check if save has enabled mistery gift
|
||||
byte[] check = new byte[1];
|
||||
switch (game)
|
||||
{
|
||||
case 0: //RS
|
||||
Data[getBlockOffset(0x41A, 2)] = 0x01;
|
||||
update_section_chk(2);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
382
wc3_tool/WC3/TV.cs
Normal file
382
wc3_tool/WC3/TV.cs
Normal file
|
|
@ -0,0 +1,382 @@
|
|||
/*
|
||||
* Created by SharpDevelop.
|
||||
* User: suloku
|
||||
* Date: 13/05/2016
|
||||
* Time: 14:03
|
||||
*
|
||||
* To change this template use Tools | Options | Coding | Edit Standard Headers.
|
||||
*/
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Data;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Windows.Forms;
|
||||
using System.IO;
|
||||
|
||||
namespace WC3_TOOL
|
||||
{
|
||||
public class TV_EVENTS
|
||||
{
|
||||
private int tv_event_size = 0x4*16;
|
||||
|
||||
public byte[] Data;
|
||||
|
||||
public TV_EVENTS(byte[] data)
|
||||
{
|
||||
Data = (byte[])(data ?? new byte[tv_event_size]).Clone();
|
||||
|
||||
load_events();
|
||||
|
||||
return;
|
||||
}
|
||||
public byte[] getData(int Offset, int Length)
|
||||
{
|
||||
return Data.Skip(Offset).Take(Length).ToArray();
|
||||
}
|
||||
public void setData(byte[] input, int Offset)
|
||||
{
|
||||
input.CopyTo(Data, Offset);
|
||||
}
|
||||
|
||||
public EVENT[] events = new EVENT[16];
|
||||
public void load_events()
|
||||
{
|
||||
int i=0;
|
||||
for(i=0;i<16;i++)
|
||||
{
|
||||
events[i] = new EVENT(getData(EVENT.event_size*i, EVENT.event_size));
|
||||
}
|
||||
}
|
||||
public void set_events()
|
||||
{
|
||||
int i=0;
|
||||
for(i=0;i<16;i++)
|
||||
{
|
||||
setData(events[i].Data, EVENT.event_size*i);
|
||||
}
|
||||
}
|
||||
}
|
||||
public class TV_SHOWS
|
||||
{
|
||||
private int tv_size = 0x24*7;
|
||||
|
||||
public byte[] Data;
|
||||
|
||||
public TV_SHOWS(byte[] data)
|
||||
{
|
||||
Data = (byte[])(data ?? new byte[tv_size]).Clone();
|
||||
|
||||
load_shows();
|
||||
|
||||
return;
|
||||
}
|
||||
public byte[] getData(int Offset, int Length)
|
||||
{
|
||||
return Data.Skip(Offset).Take(Length).ToArray();
|
||||
}
|
||||
public void setData(byte[] input, int Offset)
|
||||
{
|
||||
input.CopyTo(Data, Offset);
|
||||
}
|
||||
|
||||
public SHOW[] shows = new SHOW[7];
|
||||
public void load_shows()
|
||||
{
|
||||
int i=0;
|
||||
for(i=0;i<7;i++)
|
||||
{
|
||||
shows[i] = new SHOW(getData(SHOW.show_size*i, SHOW.show_size));
|
||||
}
|
||||
}
|
||||
public void set_shows()
|
||||
{
|
||||
int i=0;
|
||||
for(i=0;i<7;i++)
|
||||
{
|
||||
setData(shows[i].Data, SHOW.show_size*i);
|
||||
}
|
||||
}
|
||||
}
|
||||
public class EVENT
|
||||
{
|
||||
public static int event_size = 0x4;
|
||||
|
||||
public byte[] Data;
|
||||
public EVENT(byte[] data)
|
||||
{
|
||||
Data = (byte[])(data ?? new byte[event_size]).Clone();
|
||||
}
|
||||
public byte[] getData(int Offset, int Length)
|
||||
{
|
||||
return Data.Skip(Offset).Take(Length).ToArray();
|
||||
}
|
||||
public void setData(byte[] input, int Offset)
|
||||
{
|
||||
input.CopyTo(Data, Offset);
|
||||
}
|
||||
public byte ID
|
||||
{
|
||||
get{ return Data[0x0];}
|
||||
set{ Data[0x0] = (byte)value;}
|
||||
}
|
||||
public byte status
|
||||
{
|
||||
|
||||
get{ return Data[0x1];}
|
||||
set{ Data[0x1] = (byte)value;}
|
||||
}
|
||||
public UInt16 days_to_tv
|
||||
{
|
||||
get{ return BitConverter.ToUInt16(getData(0x2, 2), 0);}
|
||||
set{ setData(BitConverter.GetBytes((UInt16)value), 0x2);}
|
||||
}
|
||||
}
|
||||
/*
|
||||
Offsets
|
||||
RAM 0x281F0 - 0x2822F (RS)
|
||||
0x28550 - 0x2858F (E)
|
||||
|
||||
Save Section 3 0xBBC - 0xBFB (RS)
|
||||
Section 3 0xC50 - 0xC8F (E)
|
||||
|
||||
|
||||
Structure
|
||||
0x01 Event ID
|
||||
0x02 Status (0 - seen, 1 - not yet seen, 2 - seen + event active)
|
||||
0x03 - 0x04 Days remaining until event is active (announcement starts 2 days before)
|
||||
|
||||
Event ID
|
||||
1 Big Sale (Slateport Energy Guru)
|
||||
2 Service Day (Mauville Game Corner)
|
||||
3 Clear-Out-Sale (Lilycove Department Store)
|
||||
4 Blend Master (Lilycove Contest Hall) (Emerald only!)
|
||||
*/
|
||||
public class SHOW
|
||||
{
|
||||
public static int show_size = 0x24;
|
||||
|
||||
public byte[] Data;
|
||||
public SHOW(byte[] data)
|
||||
{
|
||||
Data = (byte[])(data ?? new byte[show_size]).Clone();
|
||||
}
|
||||
public byte[] getData(int Offset, int Length)
|
||||
{
|
||||
return Data.Skip(Offset).Take(Length).ToArray();
|
||||
}
|
||||
public void setData(byte[] input, int Offset)
|
||||
{
|
||||
input.CopyTo(Data, Offset);
|
||||
}
|
||||
|
||||
//Data common to all shows
|
||||
public byte ID
|
||||
{
|
||||
get{ return Data[0x0];}
|
||||
set{ Data[0x0] = (byte)value;}
|
||||
}
|
||||
public byte status
|
||||
{
|
||||
|
||||
get{ return Data[0x1];}
|
||||
set{ Data[0x1] = (byte)value;}
|
||||
}
|
||||
/*
|
||||
public bool status
|
||||
{
|
||||
|
||||
get{ if(Data[0x1] == 1) return true; else return false;}
|
||||
set{ if (value == true) Data[0x1] = 0x01; else Data[0x1] = 0;}
|
||||
}
|
||||
*/
|
||||
public UInt16 TID_own
|
||||
{
|
||||
get{ return BitConverter.ToUInt16(getData(0x20, 2), 0);}
|
||||
set{ setData(BitConverter.GetBytes((UInt16)value), 0x20);}
|
||||
}
|
||||
public UInt16 TID_mixed
|
||||
{
|
||||
get{ return BitConverter.ToUInt16(getData(0x22, 2), 0);}
|
||||
set{ setData(BitConverter.GetBytes((UInt16)value), 0x22);}
|
||||
}
|
||||
|
||||
//Data dependent of show
|
||||
|
||||
//ID 0x29 (Outbreak)
|
||||
|
||||
public UInt16 outbreak_move1
|
||||
{
|
||||
get{ return BitConverter.ToUInt16(getData(0x04, 2), 0);}
|
||||
set{ setData(BitConverter.GetBytes((UInt16)value), 0x04);}
|
||||
}
|
||||
public UInt16 outbreak_move2
|
||||
{
|
||||
get{ return BitConverter.ToUInt16(getData(0x06, 2), 0);}
|
||||
set{ setData(BitConverter.GetBytes((UInt16)value), 0x06);}
|
||||
}
|
||||
public UInt16 outbreak_move3
|
||||
{
|
||||
get{ return BitConverter.ToUInt16(getData(0x08, 2), 0);}
|
||||
set{ setData(BitConverter.GetBytes((UInt16)value), 0x08);}
|
||||
}
|
||||
public UInt16 outbreak_move4
|
||||
{
|
||||
get{ return BitConverter.ToUInt16(getData(0x0A, 2), 0);}
|
||||
set{ setData(BitConverter.GetBytes((UInt16)value), 0x0A);}
|
||||
}
|
||||
public UInt16 outbreak_species
|
||||
{
|
||||
get{ return BitConverter.ToUInt16(getData(0xC, 2), 0);}
|
||||
set{ setData(BitConverter.GetBytes((UInt16)value), 0xC);}
|
||||
}
|
||||
public UInt16 outbreak_map
|
||||
{
|
||||
get{ return BitConverter.ToUInt16(getData(0x10, 2), 0);}
|
||||
set{ setData(BitConverter.GetBytes((UInt16)value), 0x10);}
|
||||
}
|
||||
public byte outbreak_level
|
||||
{
|
||||
get{ return Data[0x14];}
|
||||
set{ Data[0x14] = (byte)value;}
|
||||
}
|
||||
public byte outbreak_appearance
|
||||
{
|
||||
get{ return Data[0x13];}
|
||||
set{ Data[0x13] = (byte)value;}
|
||||
}
|
||||
public UInt16 outbreak_days_to_tv
|
||||
{
|
||||
get{ return BitConverter.ToUInt16(getData(0x16, 2), 0);}
|
||||
set{ setData(BitConverter.GetBytes((UInt16)value), 0x16);}
|
||||
}
|
||||
public UInt16 outbreak_remaining_days
|
||||
{
|
||||
get{ return BitConverter.ToUInt16(getData(0x18, 2), 0);}
|
||||
set{ setData(BitConverter.GetBytes((UInt16)value), 0x18);}
|
||||
}
|
||||
//End of outbreak data
|
||||
}
|
||||
/*
|
||||
Outbreak TV Show
|
||||
When you watched the Outbreak announcement, data gets written to the Extra Data (see below).
|
||||
|
||||
Offsets
|
||||
RAM 0x27E6C - 0x281CB (RS)
|
||||
0x281CC - 0x2852B (E)
|
||||
Save Section 3 0x838 - 0xB97 (RS)
|
||||
Section 3 0x8CC - 0xC2B (E)
|
||||
|
||||
Structure
|
||||
0x00 Show ID (0x29 for Outbreak)
|
||||
0x01 Status (0 - seen, 1 - not yet seen; you can't see the announcement if you already have an active outbreak)
|
||||
0x02 - 0x03 00 00
|
||||
0x04 - 0x05 Move 1
|
||||
0x06 - 0x07 Move 2
|
||||
0x08 - 0x09 Move 3
|
||||
0x0A - 0x0B Move 4
|
||||
0x0C - 0x0D Species ID
|
||||
0x0E - 0x0F 00 00
|
||||
0x10 - 0x11 Location Map Index (use Advance Map to see them)
|
||||
0x12 00
|
||||
0x13 Appearance rate (50% (0x32) by default)
|
||||
0x14 Level
|
||||
0x15 00
|
||||
0x16 - 0x17 Days remaining until show is on TV (set to 1 if received via record mixing)
|
||||
0x18 - 0x19 Days the outbreak will last (2 by default)
|
||||
0x1A - 0x1F 00 00 00 00 00 00
|
||||
0x20 - 0x21 Own Trainer ID
|
||||
0x22 - 0x23 Trainer ID of the game from which the data was received via record mixing
|
||||
*/
|
||||
public class SWARM
|
||||
{
|
||||
public static int swarm_size = 0x14;
|
||||
|
||||
public byte[] Data;
|
||||
public SWARM(byte[] data)
|
||||
{
|
||||
Data = (byte[])(data ?? new byte[swarm_size]).Clone();
|
||||
}
|
||||
public byte[] getData(int Offset, int Length)
|
||||
{
|
||||
return Data.Skip(Offset).Take(Length).ToArray();
|
||||
}
|
||||
public void setData(byte[] input, int Offset)
|
||||
{
|
||||
input.CopyTo(Data, Offset);
|
||||
}
|
||||
|
||||
public UInt16 species
|
||||
{
|
||||
get{ return BitConverter.ToUInt16(getData(0, 2), 0);}
|
||||
set{ setData(BitConverter.GetBytes((UInt16)value), 0);}
|
||||
}
|
||||
public UInt16 map
|
||||
{
|
||||
get{ return BitConverter.ToUInt16(getData(2, 2), 0);}
|
||||
set{ setData(BitConverter.GetBytes((UInt16)value), 2);}
|
||||
}
|
||||
public byte level
|
||||
{
|
||||
get{ return Data[0x4];}
|
||||
set{ Data[0x4] = (byte)value;}
|
||||
}
|
||||
public UInt16 move1
|
||||
{
|
||||
get{ return BitConverter.ToUInt16(getData(0x08, 2), 0);}
|
||||
set{ setData(BitConverter.GetBytes((UInt16)value), 0x08);}
|
||||
}
|
||||
public UInt16 move2
|
||||
{
|
||||
get{ return BitConverter.ToUInt16(getData(0x0A, 2), 0);}
|
||||
set{ setData(BitConverter.GetBytes((UInt16)value), 0x0A);}
|
||||
}
|
||||
public UInt16 move3
|
||||
{
|
||||
get{ return BitConverter.ToUInt16(getData(0x0C, 2), 0);}
|
||||
set{ setData(BitConverter.GetBytes((UInt16)value), 0x0C);}
|
||||
}
|
||||
public UInt16 move4
|
||||
{
|
||||
get{ return BitConverter.ToUInt16(getData(0x0E, 2), 0);}
|
||||
set{ setData(BitConverter.GetBytes((UInt16)value), 0x0E);}
|
||||
}
|
||||
public byte appearance
|
||||
{
|
||||
get{ return Data[0x11];}
|
||||
set{ Data[0x11] = (byte)value;}
|
||||
}
|
||||
public byte remaining_days
|
||||
{
|
||||
get{ return Data[0x12];}
|
||||
set{ Data[0x12] = (byte)value;}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
Outbreak Extra Data
|
||||
When you watched the Outbreak announcement, data gets written here.
|
||||
It's stored here until the counter at 0x12 reaches 0.
|
||||
|
||||
Offsets
|
||||
RAM 0x28230 - 0x28243 (RS)
|
||||
0x28590 - 0x285A3 (E)
|
||||
Save Section 3 0xBFC - 0xC0F (RS)
|
||||
Section 3 0xC90 - 0xCA3 (E)
|
||||
|
||||
Structure
|
||||
0x00 - 0x01 Species ID
|
||||
0x02 - 0x03 Location Map Index (use Advance Map to see them)
|
||||
0x04 Level
|
||||
0x05 - 0x07 00 00 00
|
||||
0x08 - 0x09 Move 1
|
||||
0x0A - 0x0B Move 2
|
||||
0x0C - 0x0D Move 3
|
||||
0x0E - 0x0F Move 4
|
||||
0x10 00
|
||||
0x11 Appearance rate (50% (0x32) by default)
|
||||
0x12 Days the outbreak will last (2 by default; counts down daily)
|
||||
*/
|
||||
4698
wc3_tool/WC3/TV_editor.Designer.cs
generated
Normal file
4698
wc3_tool/WC3/TV_editor.Designer.cs
generated
Normal file
File diff suppressed because it is too large
Load Diff
278
wc3_tool/WC3/TV_editor.cs
Normal file
278
wc3_tool/WC3/TV_editor.cs
Normal file
|
|
@ -0,0 +1,278 @@
|
|||
/*
|
||||
* Created by SharpDevelop.
|
||||
* User: suloku
|
||||
* Date: 13/05/2016
|
||||
* Time: 14:03
|
||||
*
|
||||
* To change this template use Tools | Options | Coding | Edit Standard Headers.
|
||||
*/
|
||||
using System;
|
||||
using System.Drawing;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace WC3_TOOL
|
||||
{
|
||||
/// <summary>
|
||||
/// Description of TV_editor.
|
||||
/// </summary>
|
||||
public partial class TV_editor : Form
|
||||
{
|
||||
|
||||
SAV3 sav3file;
|
||||
public string savfilter = MainScreen.savfilter;
|
||||
|
||||
//TV data
|
||||
TV_EVENTS events;
|
||||
SHOW ingame_swarm;
|
||||
TV_SHOWS shows;
|
||||
SWARM swarm;
|
||||
|
||||
public TV_editor(SAV3 save)
|
||||
{
|
||||
InitializeComponent();
|
||||
|
||||
sav3file = save;
|
||||
|
||||
events = new TV_EVENTS (sav3file.get_TV_EVENT());
|
||||
ingame_swarm = new SHOW(sav3file.get_TV_OUTBREAK());
|
||||
shows = new TV_SHOWS(sav3file.get_TV_SHOWS());
|
||||
swarm = new SWARM(sav3file.get_TV_OUTBREAK_EXTRA());
|
||||
|
||||
load_data();
|
||||
|
||||
}
|
||||
|
||||
void load_data()
|
||||
{
|
||||
load_event();
|
||||
load_swarm();
|
||||
load_show();
|
||||
}
|
||||
|
||||
void load_event()
|
||||
{
|
||||
event_id.SelectedIndex = events.events[(int)event_slot.Value].ID;
|
||||
event_status.SelectedIndex = events.events[(int)event_slot.Value].status;
|
||||
event_days.Value = events.events[(int)event_slot.Value].days_to_tv;
|
||||
}
|
||||
void set_event()
|
||||
{
|
||||
events.events[(int)event_slot.Value].ID = (byte)event_id.SelectedIndex;
|
||||
events.events[(int)event_slot.Value].status = (byte)event_status.SelectedIndex;
|
||||
events.events[(int)event_slot.Value].days_to_tv = (UInt16)event_days.Value;
|
||||
}
|
||||
|
||||
void load_swarm()
|
||||
{
|
||||
current_species.SelectedIndex = swarm.species;
|
||||
current_level.Value = swarm.level;
|
||||
current_move1.SelectedIndex = swarm.move1;
|
||||
current_move2.SelectedIndex = swarm.move2;
|
||||
current_move3.SelectedIndex = swarm.move3;
|
||||
current_move4.SelectedIndex = swarm.move4;
|
||||
current_map.Value = swarm.map;
|
||||
current_appearance.Value = swarm.appearance;
|
||||
current_remaining.Value = swarm.remaining_days;
|
||||
}
|
||||
void set_swarm()
|
||||
{
|
||||
swarm.species = (UInt16)current_species.SelectedIndex;
|
||||
swarm.level = (byte)current_level.Value;
|
||||
swarm.move1 = (UInt16)current_move1.SelectedIndex;
|
||||
swarm.move2 = (UInt16)current_move2.SelectedIndex;
|
||||
swarm.move3 = (UInt16)current_move3.SelectedIndex;
|
||||
swarm.move4 = (UInt16)current_move4.SelectedIndex;
|
||||
swarm.map = (UInt16)current_map.Value;
|
||||
swarm.appearance = (byte)current_appearance.Value;
|
||||
swarm.remaining_days = (byte)current_remaining.Value;
|
||||
}
|
||||
void load_show()
|
||||
{
|
||||
|
||||
if (tv_slot.Value == 0)
|
||||
{
|
||||
tv_id.Value = ingame_swarm.ID;
|
||||
tv_status.SelectedIndex = ingame_swarm.status;
|
||||
tv_tid.Value = ingame_swarm.TID_own;
|
||||
tv_mix_tid.Value = ingame_swarm.TID_mixed;
|
||||
|
||||
}else
|
||||
{
|
||||
tv_id.Value = shows.shows[(int)(tv_slot.Value-1)].ID;
|
||||
tv_status.SelectedIndex = shows.shows[(int)(tv_slot.Value-1)].status;
|
||||
tv_tid.Value = shows.shows[(int)(tv_slot.Value-1)].TID_own;
|
||||
tv_mix_tid.Value = shows.shows[(int)(tv_slot.Value-1)].TID_mixed;
|
||||
}
|
||||
|
||||
load_outbreak();
|
||||
}
|
||||
|
||||
void Save_butClick(object sender, EventArgs e)
|
||||
{
|
||||
events.set_events();
|
||||
shows.set_shows();
|
||||
|
||||
sav3file.set_TV_EVENT(events.Data);
|
||||
sav3file.set_TV_OUTBREAK(ingame_swarm.Data);
|
||||
sav3file.set_TV_SHOWS(shows.Data);
|
||||
sav3file.set_TV_OUTBREAK_EXTRA(swarm.Data);
|
||||
sav3file.update_section_chk(3);
|
||||
FileIO.save_data(sav3file.Data, savfilter);
|
||||
}
|
||||
void Event_slotValueChanged(object sender, EventArgs e)
|
||||
{
|
||||
load_event();
|
||||
}
|
||||
void Swarm_deleteClick(object sender, EventArgs e)
|
||||
{
|
||||
delete_current_swarm();
|
||||
load_swarm();
|
||||
}
|
||||
void delete_current_swarm()
|
||||
{
|
||||
int i = 0;
|
||||
for (i=0; i<SWARM.swarm_size;i++)
|
||||
{
|
||||
swarm.Data[i] = 0;
|
||||
}
|
||||
}
|
||||
void load_outbreak()
|
||||
{
|
||||
if (tv_slot.Value == 0) //Ingame outbreak
|
||||
{
|
||||
tv_outbreak_group.Enabled = true;
|
||||
|
||||
outbreak_activation.Value = ingame_swarm.outbreak_days_to_tv;
|
||||
outbreak_map.Value = ingame_swarm.outbreak_map;
|
||||
outbreak_availability.Value = ingame_swarm.outbreak_appearance;
|
||||
outbreak_remaining.Value = ingame_swarm.outbreak_appearance;
|
||||
|
||||
outbreak_species.SelectedIndex = ingame_swarm.outbreak_species;
|
||||
outbreak_level.Value = ingame_swarm.outbreak_level;
|
||||
outbreak_move1.SelectedIndex = ingame_swarm.outbreak_move1;
|
||||
outbreak_move2.SelectedIndex = ingame_swarm.outbreak_move2;
|
||||
outbreak_move3.SelectedIndex = ingame_swarm.outbreak_move3;
|
||||
outbreak_move4.SelectedIndex = ingame_swarm.outbreak_move4;
|
||||
|
||||
|
||||
}else if (tv_slot.Value != 0 && tv_id.Value == 0x29)
|
||||
{
|
||||
tv_outbreak_group.Enabled = true;
|
||||
|
||||
outbreak_activation.Value = shows.shows[(int)(tv_slot.Value-1)].outbreak_days_to_tv;
|
||||
outbreak_map.Value = shows.shows[(int)(tv_slot.Value-1)].outbreak_map;
|
||||
outbreak_availability.Value = shows.shows[(int)(tv_slot.Value-1)].outbreak_appearance;
|
||||
outbreak_remaining.Value = shows.shows[(int)(tv_slot.Value-1)].outbreak_appearance;
|
||||
|
||||
outbreak_species.SelectedIndex = shows.shows[(int)(tv_slot.Value-1)].outbreak_species;
|
||||
outbreak_level.Value = shows.shows[(int)(tv_slot.Value-1)].outbreak_level;
|
||||
outbreak_move1.SelectedIndex = shows.shows[(int)(tv_slot.Value-1)].outbreak_move1;
|
||||
outbreak_move2.SelectedIndex = shows.shows[(int)(tv_slot.Value-1)].outbreak_move2;
|
||||
outbreak_move3.SelectedIndex = shows.shows[(int)(tv_slot.Value-1)].outbreak_move3;
|
||||
outbreak_move4.SelectedIndex = shows.shows[(int)(tv_slot.Value-1)].outbreak_move4;
|
||||
}
|
||||
else{
|
||||
tv_outbreak_group.Enabled = false;
|
||||
}
|
||||
}
|
||||
|
||||
void Outbreak_applyClick(object sender, EventArgs e)
|
||||
{
|
||||
if (tv_slot.Value == 0) //Ingame outbreak show
|
||||
{
|
||||
ingame_swarm.outbreak_days_to_tv = (UInt16)outbreak_activation.Value;
|
||||
ingame_swarm.outbreak_map = (UInt16)outbreak_map.Value;
|
||||
ingame_swarm.outbreak_appearance = (byte)outbreak_availability.Value;
|
||||
ingame_swarm.outbreak_appearance = (byte)outbreak_remaining.Value;
|
||||
|
||||
ingame_swarm.outbreak_species = (UInt16)outbreak_species.SelectedIndex;
|
||||
ingame_swarm.outbreak_level = (byte)outbreak_level.Value;
|
||||
ingame_swarm.outbreak_move1 = (UInt16)outbreak_move1.SelectedIndex;
|
||||
ingame_swarm.outbreak_move2 = (UInt16)outbreak_move2.SelectedIndex;
|
||||
ingame_swarm.outbreak_move3 = (UInt16)outbreak_move3.SelectedIndex;
|
||||
ingame_swarm.outbreak_move4 = (UInt16)outbreak_move4.SelectedIndex;
|
||||
|
||||
|
||||
}else if (tv_slot.Value != 0 && tv_id.Value == 0x29)
|
||||
{
|
||||
shows.shows[(int)(tv_slot.Value-1)].outbreak_days_to_tv = (UInt16)outbreak_activation.Value;
|
||||
shows.shows[(int)(tv_slot.Value-1)].outbreak_map = (UInt16)outbreak_map.Value;
|
||||
shows.shows[(int)(tv_slot.Value-1)].outbreak_appearance = (byte)outbreak_availability.Value;
|
||||
shows.shows[(int)(tv_slot.Value-1)].outbreak_appearance = (byte)outbreak_remaining.Value;
|
||||
|
||||
shows.shows[(int)(tv_slot.Value-1)].outbreak_species = (UInt16)outbreak_species.SelectedIndex;
|
||||
shows.shows[(int)(tv_slot.Value-1)].outbreak_level = (byte)outbreak_level.Value;
|
||||
shows.shows[(int)(tv_slot.Value-1)].outbreak_move1 = (UInt16)outbreak_move1.SelectedIndex;
|
||||
shows.shows[(int)(tv_slot.Value-1)].outbreak_move2 = (UInt16)outbreak_move2.SelectedIndex;
|
||||
shows.shows[(int)(tv_slot.Value-1)].outbreak_move3 = (UInt16)outbreak_move3.SelectedIndex;
|
||||
shows.shows[(int)(tv_slot.Value-1)].outbreak_move4 = (UInt16)outbreak_move4.SelectedIndex;
|
||||
}
|
||||
|
||||
MessageBox.Show("Outbreak Show Updated!");
|
||||
}
|
||||
void Tv_statusSelectedIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
if (tv_slot.Value == 0)
|
||||
{
|
||||
ingame_swarm.status = (byte)tv_status.SelectedIndex;
|
||||
}else
|
||||
{
|
||||
shows.shows[(int)(tv_slot.Value-1)].status = (byte)tv_status.SelectedIndex;
|
||||
}
|
||||
}
|
||||
void Tv_tidValueChanged(object sender, EventArgs e)
|
||||
{
|
||||
if (tv_slot.Value == 0)
|
||||
{
|
||||
ingame_swarm.TID_own = (UInt16)tv_tid.Value;
|
||||
}else
|
||||
{
|
||||
shows.shows[(int)(tv_slot.Value-1)].TID_own = (UInt16)tv_tid.Value;
|
||||
}
|
||||
}
|
||||
void Tv_mix_tidValueChanged(object sender, EventArgs e)
|
||||
{
|
||||
if (tv_slot.Value == 0)
|
||||
{
|
||||
ingame_swarm.TID_mixed = (UInt16)tv_mix_tid.Value;
|
||||
}else
|
||||
{
|
||||
shows.shows[(int)(tv_slot.Value-1)].TID_mixed = (UInt16)tv_mix_tid.Value;
|
||||
}
|
||||
}
|
||||
void Tv_idValueChanged(object sender, EventArgs e)
|
||||
{
|
||||
if (tv_slot.Value == 0)
|
||||
{
|
||||
tv_id.Value = ingame_swarm.ID;
|
||||
}else
|
||||
{
|
||||
tv_id.Value = shows.shows[(int)(tv_slot.Value-1)].ID;
|
||||
}
|
||||
}
|
||||
void Tv_slotValueChanged(object sender, EventArgs e)
|
||||
{
|
||||
load_show();
|
||||
}
|
||||
void Event_statusSelectedIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
}
|
||||
void Event_idSelectedIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
}
|
||||
void Event_daysValueChanged(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
}
|
||||
void Swarm_applyClick(object sender, EventArgs e)
|
||||
{
|
||||
set_swarm();
|
||||
}
|
||||
void Event_applyClick(object sender, EventArgs e)
|
||||
{
|
||||
set_event();
|
||||
}
|
||||
}
|
||||
}
|
||||
120
wc3_tool/WC3/TV_editor.resx
Normal file
120
wc3_tool/WC3/TV_editor.resx
Normal file
|
|
@ -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>
|
||||
676
wc3_tool/WC3/Tickets.resx
Normal file
676
wc3_tool/WC3/Tickets.resx
Normal file
|
|
@ -0,0 +1,676 @@
|
|||
<?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="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
||||
<data name="DE_AURORA_FRLG_FILE" type="System.Byte[], mscorlib">
|
||||
<value>
|
||||
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
|
||||
</value>
|
||||
</data>
|
||||
<data name="FR_AURORA_E_FILE" type="System.Byte[], mscorlib">
|
||||
<value>
|
||||
R4EAAOgD//8AAAAACAAAAAAAAAAAAAAAzsO9xb/Ou8/Mycy7AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAvdXm6NkA2LS/19zV4tvZAAAAAAAAAAAAAAAAAAAAALvg4NnuABYA4LQb6NXb2QDY6QC9v8jOzL8A
|
||||
ysnFG8fJyADZ6AAAAADY3ebd29nururj6ecA6tnm5wDg2QDg3erm2enmANzV1t3g4BsA2eIA6tnm6K0A
|
||||
yubZ4tnuAODZAM7DvcW/zrvPzMnMuwDk6d3nAAAAAAAAAOfV6erZ29Xm2NnuAODVAOTV5ujd2asAAAAA
|
||||
AAAAAAAAAAAAAAAAAADI2QDe2ejZ7gDk1ecA19no6NkAvdXm6NkA2LS/19zV4tvZAAAAAAAA1erV4ugA
|
||||
2LTV6uPd5gDm2RnpAODZAM7DvcW/zrvPzMnMu60AAAAAAAAAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABbSwAA
|
||||
M////7gnBAAIalorOgG7AYsEAAgrrQG7AYsEAAhHcwEBACENgAEAuwGLBAAIvZQEAAhmbUZzAQEAIQ2A
|
||||
AAC7AYIEAAgaAIBzARoBgAEACQAp1QgpOgG97QQACGZtbAK9awUACGZtbAK9QgUACGZtbALH2ebX3QDY
|
||||
tOno3eDd59nmAODZAOft5+ga4dn+vbu+v7vPAMfTzc6t+9Dj6ecA2Nnq2e4AHOjm2QD9Aa3+w+AA7QDV
|
||||
AOniAOjd19/Z6ADk4+nmAOrj6eet/8PgAOTZ6egAHOjm2QDp6N3g3ecbANXpAOTj5ugA2Nn+yL/Iz73M
|
||||
w8vPv637v+fn1e3Z7q7g2QDk4+nmAOrj3eYA2NkA5enj3QD+3eAA57TV293orf/H2ebX3QDYtOno3eDd
|
||||
59nmAODZAOft5+ga4dn+vbu+v7vPAMfTzc6t/8ncuADe2QDm2dvm2ejo2QD9Aa0AxtUAysm9wr/+ybzE
|
||||
rQDMu8y/zQDY6QDNu70A2efoAOTg2d3i2a37wNXd6NnnAODZAOjm3QDY1eLnAOrj6ObZAM27vQDZ6P7m
|
||||
2erZ4tnuAOTg6ecA6NXm2K3/uNkFAAhqWis6AbsBPQYACCutAbsBPQYACEdzAQEAIQ2AAQC7AT0GAAi9
|
||||
RgYACGZtRnMBAQAhDYAAALsBNAYACBoAgHMBGgGAAQAJACnVCCk6Ab2pBgAIZm1sAr06BwAIZm1sAr0H
|
||||
BwAIZm1sAr7V4t/ZuADY1efnANjpANjV5wDBv8K/w8eu/sG/zb3Cv8K/yADW2eLp6O7oANzV5+it+77p
|
||||
AOHp5+foAP0BAOfZ3eKt/sLd2eYA3efoANnd4gDO3dff2egA2vbmANjd19yr/77pAN/V4uLn6ADZ5wDV
|
||||
4QDC1drZ4gDq4+L+zb+/wcy7zc/GvAC9w87TANnd4ufZ6O7Z4q370dXm6eEA5Obj1t3Z5ufoANjpANnn
|
||||
AOLd19zo/tnd4trV19wA1ennrP++1eLf2bgA2NXn5wDY6QDY1ecAwb/Cv8PHrv7Bv829wr/Cv8gA1tni
|
||||
6eju6ADc1efoq//J3LgA2ecA6OnoAOHd5gDG2d3YAP0BqwC+3dn+vLvNw82uw86/x67Ou829wr8A3eIA
|
||||
2Nnd4tnh+ry/z86/xgDd5+gA6uPg4K36xtXb2ebZANno69XnANXp2gDY2d3i2eEAyr0A6eLY+t/j4eHZ
|
||||
ANXi59fc4N3ZFdni2ADu6eb219+t/7i9BwAIalorOgG7ASEIAAgrrQG7ASEIAAhHcwEBACENgAEAuwEh
|
||||
CAAIvSoIAAhmbUZzAQEAIQ2AAAC7ARgIAAgaAIBzARoBgAEACQApAA==
|
||||
</value>
|
||||
</data>
|
||||
<data name="IT_AURORA_E_FILE" type="System.Byte[], mscorlib">
|
||||
<value>
|
||||
k+kAAOgD//8AAAAACAAAAAAAAAAAAAC8w8HGw7/OzskAu8/Mycy7AAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
zdfc2djVAMzd6N3m4wC83dvg3dno6OMAAAAAAAAAAAAAANDV3QDV4ADk5t3h4wDk3dXi4wDY2eAAvb/I
|
||||
zszJAMrJxRvHycgA2QDd4tfj4ujm1QDgtNXY2Nno6OMA1eDg1QDX4+Ln2dvi1QDq2efo3ejj2N0A6tnm
|
||||
2NmtAMzd19nq3QDd4AC8w8HGw7/OzskAu8/Mycy7ANkAAOTj3QDn1eDq1QDd4ADb3ePX46sAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAADI4+IA29no6NXm2QDg1QDN19zZ2NUAzN3o3ebjALzd2+Dd2ejo4wAA5Obd4dUA
|
||||
2N0A5t3X2erZ5tkA3eAAvMPBxsO/zs7JALvPzMnMu6sAAAAAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACbjwAA
|
||||
M////7i9BwAIalorOgG7ASEIAAgrrQG7ASEIAAhHcwEBACENgAEAuwEhCAAIvSoIAAhmbUZzAQEAIQ2A
|
||||
AAC7ARgIAAgaAIBzARoBgAEACQAp1QgpOgG9gQgACGZtbAK9AgkACGZtbAK92AgACGZtbALB5tXu3dkA
|
||||
5NnmAOnn1ebZAN3gAM3d5+jZ4dX+vsnIyQDNv8HMv87JrfvO6QDn2d0A/QG4AOrZ5uOsAMLjAOXp3f7p
|
||||
4gDW3dvg3dno6OMA5NnmAOjZrf++4+rm2dbW2QDn2ebq3ebo3QDV4ADk4+bo4wDY3f7KyczOyQC7xsHC
|
||||
v8rJxsOt+87dANfj4urd2eLZANXi2NXm2QDVAOrZ2Nnm2f7Y3QDk2ebn4+LVrf/B5tXu3dkA5NnmAOnn
|
||||
1ebZAN3gAM3d5+jZ4dX+vsnIyQDNv8HMv87Jrf/J3LgA4d0A5+Td1dfZrQDG1QDOu829uwDNzszPx7/I
|
||||
zsP+vLvNvwDY2eAA6OnjANS7w8jJABoA5N3Z4tWt+87j5uLVANUA6Obj6tXm4d0A2OPk4wDV6tnm/tjZ
|
||||
5OPn3ejV6OMA5enV4Nfj59UA4tngAMq9rf+4dwkACGpaKzoBuwHbCQAIK60BuwHbCQAIR3MBAQAhDYAB
|
||||
ALsB2wkACL3kCQAIZm1GcwEBACENgAAAuwHSCQAIGgCAcwEaAYABAAkAKdUIKToBvU0KAAhmbWwCvfAK
|
||||
AAhmbWwCvb0KAAhmbWwCwebV193V5wDk4+YA6efV5gDZ4ADn3efo2eHV/tjZ4ADMv8G7xskAx8PNzr/M
|
||||
w8nNya37vtnW2ecA2NkA59nmAP0BuABR4uOs+8rp2ecA6Nni2eHj5wDp4gDo3dff2egA5NXm1QDo3a3/
|
||||
ytXm2dfZAOXp2QDk6dnY2ecA6efV5uDjANniANng/srPv8zOyQDY2QC9w8++u74AvbvMx1rIrftRyuPm
|
||||
AOXpGwDi4wDX6ebd4+fZ1ecA6eIA5OPX4/7k1ebVAOrZ5gDY2QDl6RsA59kA6ObV6NWs/8Hm1dfd1ecA
|
||||
5OPmAOnn1eYA2eAA593n6Nnh1f7Y2eAAzL/Bu8bJAMfDzc6/zMPJzcmt/8bjAOfd2eLo47gA/QGtAL/g
|
||||
ALzJxs3DxsbJANjZ/uDj5wDJvMS/zsnNAL3Gu9C/uADZ5+gXAODg2eLjrfvB6dXm2NUA1eDb4wDZ4gDZ
|
||||
4ADKvQDtAOrp2eDq2QDhF+f+6NXm2Nmt/wAAALUKSAAhECIM8ED+CEkAIAhwASBAQgLwHfoA8Av4AAYA
|
||||
KAHQAPBO+AG8AEcAAAADEAAAAzC1DU0AJCAFAAwAIQpKgCNbAQzwAA==
|
||||
</value>
|
||||
</data>
|
||||
<data name="IT_AURORA_FRLG_FILE" type="System.Byte[], mscorlib">
|
||||
<value>
|
||||
k+kAAOgD//8AAAAACAAAAAAAAAAAAAC8w8HGw7/OzskAu8/Mycy7AAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
zdfc2djVAMzd6N3m4wC83dvg3dno6OMAAAAAAAAAAAAAANDV3QDV4ADk5t3h4wDk3dXi4wDY2eAAvb/I
|
||||
zszJAMrJxRvHycgA2QDd4tfj4ujm1QDgtNXY2Nno6OMA1eDg1QDX4+Ln2dvi1QDq2efo3ejj2N0A6tnm
|
||||
2NmtAMzd19nq3QDd4AC8w8HGw7/OzskAu8/Mycy7ANkAAOTj3QDn1eDq1QDd4ADb3ePX46sAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAADI4+IA29no6NXm2QDg1QDN19zZ2NUAzN3o3ebjALzd2+Dd2ejo4wAA5Obd4dUA
|
||||
2N0A5t3X2erZ5tkA3eAAvMPBxsO/zs7JALvPzMnMu6sAAAAAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAHPhLLoAAAAAAAAAAAAAAAAAAAAAc+EsusFsJpsAAAAAAAAAAAAAAADfGwAA
|
||||
M////7ieNgEIalorpwK7AQI3AQgr5AK7AQI3AQhHcwEBACENgAEAuwECNwEIvQs3AQhmbUZzAQEAIQ2A
|
||||
AAC7Afk2AQgaAIBzARoBgAEACQApSwgppwK9YjcBCGZtbAK93zcBCGZtbAK9tTcBCGZtbALB5tXu3dkA
|
||||
5NnmAOnn1ebZAN3gAM3d5+jZ4dX+vsnIyQDNv8HMv87JrfvO6QDn2d0A/QG4AOrZ5uOsAMLjAOXp3f7p
|
||||
4gDW3dvg3dno6OMA5NnmAOjZrf++4+rm2dbW2QDn2ebq3ebo3QDV4ADk4+bo4wDY3f67zLvIvcPJysnG
|
||||
w637zt0A1+Pi6t3Z4tkA1eLY1ebZANUA6tnY2ebZ/tjdAOTZ5ufj4tWt/8Hm1e7d2QDk2eYA6efV5tkA
|
||||
3eAAzd3n6Nnh1f6+ycjJAM2/wcy/zsmt/8ncuADh3QDn5N3V19mtAMbVAM67zb27AM3OzM/Hv8jOw/68
|
||||
u82/ANjZ4ADo6eMA1LvDyMkAGgDk3dni1a37zuPm4tUA1QDo5uPq1ebh3QDY4+TjANXq2eb+2Nnk4+fd
|
||||
6NXo4wDl6dXg1+Pn1QDi2eAAyr2t/7hUOAEIalorpwK7Abg4AQgr5AK7Abg4AQhHcwEBACENgAEAuwG4
|
||||
OAEIvcE4AQhmbUZzAQEAIQ2AAAC7Aa84AQgaAIBzARoBgAEACQApSwgppwK9KjkBCGZtbAK9zTkBCGZt
|
||||
bAK9mjkBCGZtbALB5tXX3dXnAOTj5gDp59XmANngAOfd5+jZ4dX+2NngAMy/wbvGyQDHw83Ov8zDyc3J
|
||||
rfu+2dbZ5wDY2QDn2eYA/QG4AFHi46z7yunZ5wDo2eLZ4ePnAOniAOjd19/Z6ADk1ebVAOjdrf/K1ebZ
|
||||
19kA5enZAOTp2djZ5wDp59Xm4OMA2eIA2eD+ys+/zM7JANjZAL3Dz767vgC9u8zHWsit+1HK4+YA5ekb
|
||||
AOLjANfp5t3j59nV5wDp4gDk49fj/uTV5tUA6tnmANjZAOXpGwDn2QDo5tXo1az/webV193V5wDk4+YA
|
||||
6efV5gDZ4ADn3efo2eHV/tjZ4ADMv8G7xskAx8PNzr/Mw8nNya3/xuMA593Z4ujjuAD9Aa0Av+AAvMnG
|
||||
zcPGxskA2Nn+4OPnAMm8xL/Oyc0Avca70L+4ANnn6BcA4ODZ4uOt+8Hp1ebY1QDV4NvjANniANngAMq9
|
||||
AO0A6unZ4OrZAOEX5/7o1ebY2a3/AAIAAgD//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP0/
|
||||
AAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==
|
||||
</value>
|
||||
</data>
|
||||
<data name="IT_EON_FILE" type="System.Byte[], mscorlib">
|
||||
<value>
|
||||
OZwAADMIAQG4aAAAAkcTAQEAIQ2AAQC7AcYAAAJKEwEBACENgAEAuwHGAAACK84AuwHGAAACalq90AAA
|
||||
AmZtRhMBAQAhDYAAALsBxwAAAhoAgBMBGgGAAQAJAClTCL0QAQACZm1sDb1KAQACZm1sAsq7ygHwAM3Z
|
||||
4dbm1QDd4AC8w8HGw7/OzskA5NnmAOni/ujm1dvc2ejo47gA4dXdAOrd5+jjAOni4wDX4+cerf++4+rm
|
||||
2efo3QDV4tjV5tkA1dgAu8bBwr/KycbDANn+19zd2djZ5tkA2N0A19zZAOfdAOjm1ejo1a3/w+AA6Onj
|
||||
ANS7w8jJABoA5N3Z4uOtra37wNXdAOniAOTjtADY3QDn5NXu3eMA2QDo4+bi1f7VANrV5uHdAOrd593o
|
||||
1a3/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACsAAAAAZcTAQ==
|
||||
</value>
|
||||
</data>
|
||||
<data name="SP_AURORA_FRLG_FILE" type="System.Byte[], mscorlib">
|
||||
<value>
|
||||
F9gAAOgD//8AAAAACAAAAAAAAAAAAAAAAMnMw67Ow73Fv84AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
0LvGvwDKycwAogDJzMOuzsO9xb/OAAAAAAAAAAAAAAAAANDZANXgAOTm3eHZ5gDk3efjANjZ4AC9v8jO
|
||||
zMkAysnFG8fJyAAAAADtANzV1uDVANfj4gDg1QDk2ebn4+LVANjZAOrZ5tjZrQAAAAAAAAAAvenV4tjj
|
||||
AOjZANni6ObZ2+nZANngAMnMw67Ow73Fv864AAAAAAAAAFLb6dXm2NUA4NUA5NXm6N3Y1asAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAABSUsjjAOjd5tnnANnn6NkA0LvGv6urAFLG4wDi2dfZ593o1ecAAAAA5NXm1QDm
|
||||
2dfd1t3mANngAMnMw67Ow73Fv86rAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkYAAA
|
||||
M////7hUOAEIalorpwK7Abg4AQgr5AK7Abg4AQhHcwEBACENgAEAuwG4OAEIvcE4AQhmbUZzAQEAIQ2A
|
||||
AAC7Aa84AQgaAIBzARoBgAEACQApSwgppwK9KjkBCGZtbAK9zTkBCGZtbAK9mjkBCGZtbALB5tXX3dXn
|
||||
AOTj5gDp59XmANngAOfd5+jZ4dX+2NngAMy/wbvGyQDHw83Ov8zDyc3Jrfu+2dbZ5wDY2QDn2eYA/QG4
|
||||
AFHi46z7yunZ5wDo2eLZ4ePnAOniAOjd19/Z6ADk1ebVAOjdrf/K1ebZ19kA5enZAOTp2djZ5wDp59Xm
|
||||
4OMA2eIA2eD+ys+/zM7JANjZAL3Dz767vgC9u8zHWsit+1HK4+YA5ekbAOLjANfp5t3j59nV5wDp4gDk
|
||||
49fj/uTV5tUA6tnmANjZAOXpGwDn2QDo5tXo1az/webV193V5wDk4+YA6efV5gDZ4ADn3efo2eHV/tjZ
|
||||
4ADMv8G7xskAx8PNzr/Mw8nNya3/xuMA593Z4ujjuAD9Aa0Av+AAvMnGzcPGxskA2Nn+4OPnAMm8xL/O
|
||||
yc0Avca70L+4ANnn6BcA4ODZ4uOt+8Hp1ebY1QDV4NvjANniANngAMq9AO0A6unZ4OrZAOEX5/7o1ebY
|
||||
2a3/AAIAAgD//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP0/AAgAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAABAkUAEFVUk8AAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQAAEQEAABAAAAAQAAABEAAAABEQAAAQAA
|
||||
AAEAAAAAEBAAEBAQAAABABAAEAAQABAAAQAAAQEAAAEBAAABAAAQEBAAEBAQAAAAEBERARAAAAAQAAAA
|
||||
EAAAAAAREQEAABAQAAAQEBEREQEAAAABAAAQAAAAEAAAAAEAEBEAAAAAEBAAABAQAAEAABAQAAABAAEA
|
||||
AAAQAAAAAAEAAAAAAAAQEAAQEBAREREBABAAABAQEAAQEAABARAAAQEQAAEAABAQAAAREAABEAAREQAB
|
||||
AAEBARAAAQABAAEAABEAAAAAEBAAEBAQEBERAAAAAQAAEREBAAAQABAAAAAAEREAAAAQEAAAEBAAAAEA
|
||||
ABAAAAABAAAAEAAAAAABAAAAEAAAABAQAAAAEBAQEQEQABAAEAAQABAAEAAAARAAAAABAAAAEBAAABAQ
|
||||
ABERAAAAAAEAABAAAAAAABAAAAAAEREBAAAQEAAQEBAQEREAAAABAA==
|
||||
</value>
|
||||
</data>
|
||||
<data name="USA_AURORA_E_FILE" type="System.Byte[], mscorlib">
|
||||
<value>
|
||||
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
|
||||
</value>
|
||||
</data>
|
||||
<data name="USA_AURORA_FRLG_FILE" type="System.Byte[], mscorlib">
|
||||
<value>
|
||||
bNAAAOgD//8AAAAACAAAAAAAAAAAAACxu8/Mycy7AM7DvcW/zrIAAAAAAAAAAAAAAAAAAAAAAAAAAAC/
|
||||
7Nfc1eLb2QC91ebYAKOhoaUAwLvGxgAAAAAAAAAAAAAAAMHjAOjjAOjc2QDn2dfj4tgA2uDj4+YA49oA
|
||||
6NzZAMrJxRvHycgAAAC9v8jOv8wA1eLYAOHZ2egA6NzZANjZ4N3q2ebtAOTZ5ufj4gDd4gAA2+bZ2eKt
|
||||
AMzZ19nd6tkA6NzZALvPzMnMuwDOw73Fv84A1eLYAAAAAOjc2eIA59Xq2QDo3NkA29Xh2aurAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAC+4wDi4+gA6OPn5wDo3N3nAL/s19zV4tvZAL3V5tgAAAAAAAAAAAAA1tna4+bZ
|
||||
AObZ19nd6t3i2wDo3NkAu8/Mycy7AM7DvcW/zqurAAAAAAAAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAATfyegWMQLtGi2UGgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABbHAAA
|
||||
M////7goJwEIalorpwK7AYwnAQgr5AK7AYwnAQhHcwEBACENgAEAuwGMJwEIvZUnAQhmbUZzAQEAIQ2A
|
||||
AAC7AYMnAQgaAIBzARoBgAEACQApSwgppwK98icBCGZtbAK9hCgBCGZtbAK9VygBCGZtbALO3NXi3wDt
|
||||
4+kA2uPmAOnn3eLbAOjc2QDH083Ov8zT/sHDwM4Aze3n6NnhrfvT4+kA4enn6ADW2QD9Aa3+ztzZ5tkA
|
||||
3ecA1QDo3dff2egA3Nnm2QDa4+YA7ePprf/D6ADV5OTZ1ebnAOjjANbZANrj5gDp59kA1egA6NzZ/tC/
|
||||
zMfDxsPJyAC9w87TAOTj5uit+9Hc7QDi4+gA293q2QDd6ADVAOjm7QDV4tgA59nZAOvc1ej+3egA3ecA
|
||||
1dbj6eis/87c1eLfAO3j6QDa4+YA6efd4tsA6NzZAMfTzc6/zNP+wcPAzgDN7efo2eGt/8ncuADDtOEA
|
||||
5+Pm5u24AP0BrQDT4+nmALy7wbTn/sW/0wDDzr/HzQDKyb3Fv84A3ecA2ung4K37yuDZ1efZAOfo4+bZ
|
||||
AOfj4dno3N3i2wDj4gDt4+nmAMq9uP7o3NniANfj4dkA1tXX3wDa4+YA6Nzd563/AgACAP//AAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA3TYACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEAQVVSTwAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAEBAAARAQAAEAAAABAAAAEQAAAAERAAABAAAAAQAAAAAQEAAQEBAAAAEA
|
||||
EAAQABAAEAABAAABAQAAAQEAAAEAABAQEAAQEBAAAAAQEREBEAAAABAAAAAQAAAAABERAQAAEBAAABAQ
|
||||
ERERAQAAAAEAABAAAAAQAAAAAQAQEQAAAAAQEAAAEBAAAQAAEBAAAAEAAQAAABAAAAAAAQAAAAAAABAQ
|
||||
ABAQEBEREQEAEAAAEBAQABAQAAEBEAABARAAAQAAEBAAABEQAAEQABERAAEAAQEBEAABAAEAAQAAEQAA
|
||||
AAAQEAAQEBAQEREAAAABAAAREQEAABAAEAAAAAAREQAAABAQAAAQEAAAAQAAEAAAAAEAAAAQAAAAAAEA
|
||||
AAAQAAAAEBAAAAAQEBARARAAEAAQABAAEAAQAAABEAAAAAEAAAAQEAAAEBAAEREAAAAAAQAAEAAAAAAA
|
||||
EAAAAAAREQEAABAQABAQEBAREQAAAAEAAAAQAAAAEAAQAAAAABERAA==
|
||||
</value>
|
||||
</data>
|
||||
<data name="USA_EON_ECARD_FILE" type="System.Byte[], mscorlib">
|
||||
<value>
|
||||
EOoAADMIAQG4YQAAAkcTAQEAIQ2AAQC7Ab8AAAJKEwEBACENgAEAuwG/AAACK84AuwG/AAACalq9yQAA
|
||||
AmZtRhMBAQAhDYAAALsBwAAAAhoAgBMBGgGAAQAJAClTCL0EAQACZm1sDb2DAQACZm1sAr67vrH9AasA
|
||||
wePj2ADo4wDn2dkA7ePpq/7O3Nnm2bTnANUA4Nno6NnmANzZ5tkA2uPmAO3j6bj9Aa3/vru+scPoANXk
|
||||
5NnV5ucA6OMA1tkA1QDa2ebm7QDOw73Fv86t/tbp6ADDtOrZAOLZ6tnmAOfZ2eIA4+LZAODd39kA3egA
|
||||
1tna4+bZrfrT4+kA59zj6eDYAOrd593oAMbDxtO9ydC/ANXi2ADV59/+1dbj6egA3egA6NzZ5tmt/767
|
||||
vrH9AbQA6NzZAMW/0wDDzr/HzQDKyb3Fv84A3eL+7ePp5gC8u8EA3ecA2ung4K37x+Pq2QDn4+HZAN/Z
|
||||
7QDd6Nnh5wDa4+YA59Xa2d/Z2eTd4tv+3eIA7ePp5gDKvbQA6NzZ4gDX4+HZAOfZ2QDh2a3/AAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzAAAAAR4TAQ==
|
||||
</value>
|
||||
</data>
|
||||
<data name="USA_MYSTIC_E_FILE" type="System.Byte[], mscorlib">
|
||||
<value>
|
||||
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
|
||||
</value>
|
||||
</data>
|
||||
<data name="JAP_AURORA_FRLG_FILE" type="System.Byte[], mscorlib">
|
||||
<value>
|
||||
nMwAAOgD//8AAAAACABVrnt3YVmgZAAbBwYEAFaulQCjoaGlABUSAAAAAAAAiq5xLQAaPSITAJ9Zc35e
|
||||
fmCuGQCjBgIdAAIKA6sAVa57d2FZoGQtACMnAwoUNwBEBykmqwAAAAAAAAAAYVmgZC0AIydQECcADTl6
|
||||
n65kqwBhWaBkLQAjJwMfBBYAChlWrpUtAA0TFQJEAAhBCwKrAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAABnVQAAM////7gcKwEIalorpwK7AYArAQgr5AK7AYArAQhHcwEBACENgAEAuwGAKwEIvYkr
|
||||
AQhmbUZzAQEAIQ2AAAC7AXcrAQgaAIBzARoBgAEACQApSwgppwK90ysBCGZtbAK9KSwBCGZtbAK9BiwB
|
||||
CGZtbAIcDDgVBQgoIxkALQA7KCYD/gIQQQcAASg3FAMAOzwCHw2r+v0BCx8ARA0Y+wEVEAsfAAETFv4K
|
||||
GQBhWaBkN/oFCCcqEwAHHwwQ/1hhllxjgBkAHBUSB0YARP4SBgQpACYDRA0Y+z8bADsoJgMADBMgExr+
|
||||
AgY3RAw2Awas/xwMOBUFCCgjGQAtADsoJgP+AhBBBwABKDcUAwA7PAIfDBD/DAYMAP0BCx+r/hACDhIV
|
||||
Ixk3AAJQSwIARA37m19afhYAAT4JEwYn/h8QAAcTCEELAv8AAgACAP//AAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAQTcACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAABAAAAECRQAQVVSTwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAEBAAARAQAAEAAAABAAAAEQAAAAERAAABAAAAAQAAAAAQEAAQEBAAAAEAEAAQABAAEAABAAAB
|
||||
AQAAAQEAAAEAABAQEAAQEBAAAAAQEREBEAAAABAAAAAQAAAAABERAQAAEBAAABAQERERAQAAAAEAABAA
|
||||
AAAQAAAAAQAQEQAAAAAQEAAAEBAAAQAAEBAAAAEAAQAAABAAAAAAAQAAAAAAABAQABAQEBEREQEAEAAA
|
||||
EBAQABAQAAEBEAABARAAAQAAEBAAABEQAAEQABERAAEAAQEBEAABAAEAAQAAEQAAAAAQEAAQEBAQEREA
|
||||
AAABAAAREQEAABAAEAAAAAAREQAAABAQAAAQEAAAAQAAEAAAAAEAAAAQAAAAAAEAAAAQAAAAEBAAAAAQ
|
||||
EBARARAAEAAQABAAEAAQAAABEAAAAAEAAAAQEAAAEBAAEREAAAAAAQAAEAAAAAAAEAAAAAAREQEAABAQ
|
||||
ABAQEBAREQAAAAEAAAAQAAAAEAAQAAAAABERAAAAAQEAAAEBEAAAABAAAAAQAAAAEAAAABAAEAAAEQEA
|
||||
AAAQEAAAARAQEREBAAABAAARAQAAAQEAABABABARAAAAABAQAAAQEBAAAQAQEREBEQABABAAAQAQAAAB
|
||||
ABERAAAAEBAAARAQAAEAAQAAEAAQEREBABAAAAABAAAAEBEBAAAQEAAQEBAQEREAAAEAAA==
|
||||
</value>
|
||||
</data>
|
||||
<data name="JAP_EON_FILE" type="System.Byte[], mscorlib">
|
||||
<value>
|
||||
njQAADMIAQG4SQAAAkcTAQEAIQ2AAQC7AacAAAJKEwEBACENgAEAuwGnAAACK84AuwGnAAACalq9sQAA
|
||||
AmZtRhMBAQAhDYAAALsBqAAAAhoAgBMBGgGAAQAJAClTCL3TAAACZm1sDb0DAQACZm1sApubsf0BqwAm
|
||||
CAAHEBWr/v0BARMZABM3IDcAFEUJJyoQQP+bm7EsEAwjACAQChQZFQL+HBgZAGFZoGQAQRWwsPpwZXMW
|
||||
AAJQEyApFAACAkErA/+bm7EMBgwA/QH+EAIOEhUjGTcAAlBLAgBBFfubX1p+FgABPgkTBicAHxAHFQsC
|
||||
/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACsAAAAAZcTAQ==
|
||||
</value>
|
||||
</data>
|
||||
<data name="JAP_MYSTIC_E_FILE" type="System.Byte[], mscorlib">
|
||||
<value>
|
||||
mKcAAOkD//8AAAAAHAAMLkwZYVmgZAAbBwYEAFaulQCjoaGmABwlAAAAAAAAiq5xLQAaPSITAJ9Zc35e
|
||||
fmCuGQCjBgIdAAIKA6sADC5MGWFZoGQtACMnAwoUNwBEBykmqwAAAAAAAAAAYVmgZC0AIydQECcADTl6
|
||||
n65kqwBhWaBkLQAjJwMfBBYAChlWrpUtAA0TFQJEAAhBCwKrAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAC55wAAM////7hYAgAIalorOwG7AcUCAAgrkQC7AcUCAAgrkgC7AcUCAAhHcgEBACENgAEA
|
||||
uwHFAgAIvc4CAAhmbUZyAQEAIQ2AAAC7AbwCAAgaAIByARoBgAEACQAp4AgpOwG9GAMACGZtbAK9bgMA
|
||||
CGZtbAK9SwMACGZtbAIcDDgVBQgoIxkALQA7KCYD/gIQQQcAASg3FAMAOzwCHw2r+v0BCx8ARA0Y+wEV
|
||||
EAsfAAETFv4KGQBhWaBkN/oFCCcqEwAHHwwQ/3Blc1xjgBkAHBUSB0YARP4SBgQpACYDRA0Y+z8bADso
|
||||
JgMADBMgExr+AgY3RAw2Awas/xwMOBUFCCgjGQAtADsoJgP+AhBBBwABKDcUAwA7PAIfDBD/DAYMAP0B
|
||||
Cx+r/hACDhIVIxk3AAJQSwIARA37m19afhYAAT4JEwYn/h8QAAcTCEELAv8AtQpIACEQIgzwGv4ISQAg
|
||||
CHABIEBCAvAd+gDwC/gABgAoAdAA8E74AbwARwAAAAMQAAADMLUNTQAkIAUADAAhCkqAI1sBDPCD+ygc
|
||||
CEkEIgzwov0AKA/RACAA8In4BUqpGAloiEIH0QEgC+AAAAAC6CoBCPwPAAABNAEs3d0A8AX4ACAwvAK8
|
||||
CEcAAIGwCUoAIACQCEhpRgFgQmAHSYFggGgHSABoEGC0MgEgEIABsHBHAAAAAAAC1AAABAAEAIXoKgEI
|
||||
8LVXRk5GRUbgtIGwAScAIIJGACU4A3kciUYRSc4ZEUlAGIBGNHhsQAEgBEAkATwZIAQADAAhQkaAI1sB
|
||||
DPAm+zgcAPAz+KQAB0kMGSFoiEIM0TB4RUABIAVANXAX4AAABAAAAgAAAAIUAAACAS0L0VFGAJELSGlG
|
||||
AWBBRkFgCkmBYIBoUEYwcAE1AS3K3U9GDy++3QGwOLyYRqFGqkbwvAG8AEfUAAAEAAQAhRC1gCPbAAAi
|
||||
ACgA0QE7mkII2gZJAANEGBkcAcwSGAE5ACn60RAcELwCvAhHAAAAAvC1JU8lSAAhQVY6HAMcAClZ0QAl
|
||||
IkkAIAhWACgK0Q8tYdABNQ8tBdxoGAB4AAYAFgAo9NAAIBhWAChE0QElGE6oGQB4AAYAFgAoENA6HVIZ
|
||||
EHgBIUhAEHAQeAABLBgoHP/3tv+iADkcFDGJGAhgATUPLeTdACD/96v/Ckq5GAhgBUkAIAzwkvsAIDBw
|
||||
A0kBIAhwASAo4AAAAAAAAhAAAAMAAAAD/A8AADgdQBkAeAABLBggBAAMKQOJGAzwd/sAIDBwASAQ4AEl
|
||||
CUguGAAkNFcALOnRATUPLffdECARHAzwZfsESARwACDwvAK8CEcAAAAAAAMQAAAD8LVXAA==
|
||||
</value>
|
||||
</data>
|
||||
<data name="JAP_MYSTIC_FRLG_FILE" type="System.Byte[], mscorlib">
|
||||
<value>
|
||||
mKcAAOkD//8AAAAAHAAMLkwZYVmgZAAbBwYEAFaulQCjoaGmABwlAAAAAAAAiq5xLQAaPSITAJ9Zc35e
|
||||
fmCuGQCjBgIdAAIKA6sADC5MGWFZoGQtACMnAwoUNwBEBykmqwAAAAAAAAAAYVmgZC0AIydQECcADTl6
|
||||
n65kqwBhWaBkLQAjJwMfBBYAChlWrpUtAA0TFQJEAAhBCwKrAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAACJZgAAM////7g0KQEIalorqAK7AaEpAQgr8gK7AaEpAQgr8wK7AaEpAQhHcgEBACENgAEA
|
||||
uwGhKQEIvaopAQhmbUZyAQEAIQ2AAAC7AZgpAQgaAIByARoBgAEACQApSggpqAK99CkBCGZtbAK9SioB
|
||||
CGZtbAK9JyoBCGZtbAIcDDgVBQgoIxkALQA7KCYD/gIQQQcAASg3FAMAOzwCHw2r+v0BCx8ARA0Y+wEV
|
||||
EAsfAAETFv4KGQBhWaBkN/oFCCcqEwAHHwwQ/1hhllxjgBkAHBUSB0YARP4SBgQpACYDRA0Y+z8bADso
|
||||
JgMADBMgExr+AgY3RAw2Awas/xwMOBUFCCgjGQAtADsoJgP+AhBBBwABKDcUAwA7PAIfDBD/DAYMAP0B
|
||||
Cx+r/hACDhIVIxk3AAJQSwIARA37m19afhYAAT4JEwYn/h8QAAcTCEELAv8CAAIA//8AAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAABFOAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAQJFABBVVJPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAQEAABEBAAAQAAAAEAAAARAAAAAREAAAEAAAABAAAAABAQABAQEAAAAQAQABAA
|
||||
EAAQAAEAAAEBAAABAQAAAQAAEBAQABAQEAAAABAREQEQAAAAEAAAABAAAAAAEREBAAAQEAAAEBAREREB
|
||||
AAAAAQAAEAAAABAAAAABABARAAAAABAQAAAQEAABAAAQEAAAAQABAAAAEAAAAAABAAAAAAAAEBAAEBAQ
|
||||
ERERAQAQAAAQEBAAEBAAAQEQAAEBEAABAAAQEAAAERAAARAAEREAAQABAQEQAAEAAQABAAARAAAAABAQ
|
||||
ABAQEBAREQAAAAEAABERAQAAEAAQAAAAABERAAAAEBAAABAQAAABAAAQAAAAAQAAABAAAAAAAQAAABAA
|
||||
AAAQEAAAABAQEBEBEAAQABAAEAAQABAAAAEQAAAAAQAAABAQAAAQEAAREQAAAAABAAAQAAAAAAAQAAAA
|
||||
ABERAQAAEBAAEBAQEBERAAAAAQAAABAAAAAQABAAAAAAEREAAAABAQAAAQEQAAAAEAAAABAAAAAQAAAA
|
||||
EAAQAAARAQAAABAQAAABEBAREQEAAAEAABEBAAABAQAAEAEAEBEAAAAAEBAAABAQEAABABAREQERAAEA
|
||||
EAABABAAAAEAEREAAAAQEAABEBAAAQABAAAQABAREQEAEAAAAAEAAAAQEQEAABAQABAQAA==
|
||||
</value>
|
||||
</data>
|
||||
<data name="JAP_OLDMAP_E_FILE" type="System.Byte[], mscorlib">
|
||||
<value>
|
||||
upkAAOoD//8AAAAAFAAcKUcQBgI+ABsHBgQAVq6VAACjoaGmABUSAAAAAAAAiq5xLQAaPSITAJ9Zc35e
|
||||
fmCuGQCjBgIdAAIKA6sAHClHEAYCPi0AABMWAiopAAoUNwBEBykmqwAAAAAABgI+LQATFgIqECcADTl6
|
||||
n65kqwAGAj4tABMWAiopHwQWAAoZVq6VLQ0TFQJEAAhBCwKrAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAygQAAM////7hQAgAIalorPAG7AbQCAAgrygG7AbQCAAhHeAEBACENgAEAuwG0AgAIvb0C
|
||||
AAhmbUZ4AQEAIQ2AAAC7AasCAAgaAIB4ARoBgAEACQAp1ggpPAG9BgMACGZtbAK9XAMACGZtbAK9OQMA
|
||||
CGZtbAIcDDgVBQgoIxkALQA7KCYD/gIQQQcAASg3FAMAOzwCHw2r+v0BCx8ARA0Y+wEVEAsfAAETFv4K
|
||||
GQAGAj43+gUIJyoTAAcfDBD/cGVzXGOAGQAcFRIHRgBE/hIGBCkAJgNEDRj7PxsAOygmAwAMEyATGv4C
|
||||
BjdEDDYDBqz/HAw4FQUIKCMZAC0AOygmA/4CEEEHAAEoNxQDADs8Ah8MEP8MBgwA/QELH6v+EAIOEhUj
|
||||
GTcAAlBLAgBEDfubX1p+FgABPgkTBif+HxAABxMIQQsC/7iOAwAIalorOgG7AfIDAAgrrQG7AfIDAAhH
|
||||
cwEBACENgAEAuwHyAwAIvfsDAAhmbUZzAQEAIQ2AAAC7AekDAAgaAIBzARoBgAEACQAp1QgpOgG9WAQA
|
||||
CGZtbAK96QQACGZtbAK9vAQACGZtbALO3NXi3wDt4+kA2uPmAOnn3eLbAOjc2QDH083Ov8zT/sHDwM4A
|
||||
ze3n6NnhrfvT4+kA4enn6ADW2QD9Aa3+ztzZ5tkA3ecA1QDo3dff2egA3Nnm2QDa4+YA7ePprf/D6ADV
|
||||
5OTZ1ebnAOjjANbZANrj5gDp59kA1egA6NzZ/sbDxtO9ydC/AL3DztMA5OPm6K370dztAOLj6ADb3erZ
|
||||
AN3oANUA6ObtANXi2ADn2dkA69zV6P7d6ADd5wDV1uPp6Kz/ztzV4t8A7ePpANrj5gDp593i2wDo3NkA
|
||||
x9PNzr/M0/7Bw8DOAM3t5+jZ4a3/ydy4AMO04QDn4+bm7bgA/QGt/tPj6eYAvLvBtOcAxb/TAMPOv8fN
|
||||
AMrJvcW/zgDd5wDa6eDgrfvK4NnV59kA5+jj5tkA5+Ph2ejc3eLbAOPiAO3j6eYAyr24/ujc2eIA1+Ph
|
||||
2QDW1dffANrj5gDo3N3nrf+4XQUACGpaKzoBuwHBBQAIK60BuwHBBQAIR3MBAQAhDYABALsBwQUACL3K
|
||||
BQAIZm1GcwEBACENgAAAuwG4BQAIGgCAcwEaAYABAAkAKdUIKToBvSMGAAhmbWwCvaEGAAhmbWwCvXgG
|
||||
AAhmbWwCx9nm190A2LTp6N3g3efZ5gDg2QDn7efoGuHZ/r27vr+7zwDH083OrfvQ4+nnANjZ6tnuABzo
|
||||
5tkA/QGt/sPgAO0A1QDp4gDo3dff2egA5OPp5gDq4+nnrf/D4ADk2enoABzo5tkA6ejdAA==
|
||||
</value>
|
||||
</data>
|
||||
<data name="USA_EON_ITALY_FILE" type="System.Byte[], mscorlib">
|
||||
<value>
|
||||
8JsAADMIAQG4UgAAAkcTAQEAIQ2AAQC7AbAAAAJKEwEBACENgAEAuwGwAAACK84AuwGwAAACalq9ugAA
|
||||
AmZtRhMBAQAhDYAAALsBsQAAAhoAgBMBGgGAAQAJAClTCL0IAQACZm1sDb06AQACZm1sAr67vvAAw+gA
|
||||
1eTk2dXm5wDo4wDW2QDVANrZ5ubtAM7DvcW/zrj+1unoAMO06tkA4tnq2eYA59nZ4gDj4tkA4N3f2QDd
|
||||
6ADW2drj5tmt/9Pj6QDn3OPp4NgA6t3n3egAxsPG073J0L8A1eLYANXn3/7V1uPp6ADd6ADo3Nnm2a3/
|
||||
ztzZALy7wQDd5wDa6eDgAK2trfvT4+kA59zj6eDYAOHV39kA5uPj4QDV4tgA1+Ph2QDW1dff/uDV6Nnm
|
||||
rf8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACsAAAAAZcTAQ==
|
||||
</value>
|
||||
</data>
|
||||
<data name="DE_AURORA_E_FILE" type="System.Byte[], mscorlib">
|
||||
<value>
|
||||
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
|
||||
</value>
|
||||
</data>
|
||||
<data name="DE_EON_FILE" type="System.Byte[], mscorlib">
|
||||
<value>
|
||||
eK8AADMIAQG4ZAAAAkcTAQEAIQ2AAQC7AcIAAAJKEwEBACENgAEAuwHCAAACK84AuwHCAAACalq9zAAA
|
||||
AmZtRhMBAQAhDYAAALsBwwAAAhoAgBMBGgGAAQAJAClTCL0XAQACZm1sDb1hAQACZm1sAtC7zr/M8ADD
|
||||
19wA1t3iAOHd5gDi3dfc6ADn3dfc2ea4/tnnAN/14uLo2QDZ3eIAzsO9xb/OANr25gDZ3eLZAMD03ObZ
|
||||
AOfZ3eKt/77pAOfj4ODo2efoAOLV19wAzb+/wcy7zc/GvAC9w87TANvZ3NniAOni2AD+2N3X3ADY4+bo
|
||||
ANvZ4tXp2eYA2ebf6eLY3dvZ4q3/vtnd4gC8v8/Ov8YA3efoAOrj4OCtra37zdfc1dra2QDK4NXo7gDp
|
||||
4tgA1tnn6dfc2QDh3dfcANnm4tnp6K3/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACsAAAAAZcTAQ==
|
||||
</value>
|
||||
</data>
|
||||
<data name="SP_AURORA_E_FILE" type="System.Byte[], mscorlib">
|
||||
<value>
|
||||
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
|
||||
</value>
|
||||
</data>
|
||||
<data name="SP_EON_FILE" type="System.Byte[], mscorlib">
|
||||
<value>
|
||||
G5YAADMIAQG4XwAAAkcTAQEAIQ2AAQC7Ab0AAAJKEwEBACENgAEAuwG9AAACK84AuwG9AAACalq9xwAA
|
||||
AmZtRhMBAQAhDYAAALsBvgAAAhoAgBMBGgGAAQAJAClTCL0TAQACZm1sDb1KAQACZm1sAsq7ygLwAMrV
|
||||
5tnX2QDl6dkA1+Pi6N3Z4tkA6eIAzsO9xb/OAP7k1ebVANngANrZ5ubtrQDK2ebjANnnAOniAOTj1+MA
|
||||
5tXm462trf++2dbZ5m/V5wDd5gDVAL27xrvBz7v+5NXm1QDl6dkA6NkA2NniAOEX5wDd4trj5uHV190j
|
||||
4q3/xtUAx8m9wsPGuwDZ5+gXAODg2eLVra2t+8LV7gDp4gDc6dnX4wDtAOrp2eDq2QDVAOrZ5uHZrf8A
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACsAAAAAZcTAQ==
|
||||
</value>
|
||||
</data>
|
||||
<data name="FR_AURORA_FRLG_FILE" type="System.Byte[], mscorlib">
|
||||
<value>
|
||||
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
|
||||
</value>
|
||||
</data>
|
||||
<data name="FR_EON_FILE" type="System.Byte[], mscorlib">
|
||||
<value>
|
||||
2qcAADMIAQG4XwAAAkcTAQEAIQ2AAQC7Ab0AAAJKEwEBACENgAEAuwG9AAACK84AuwG9AAACalq9xwAA
|
||||
AmZtRhMBAQAhDYAAALsBvgAAAhoAgBMBGgGAAQAJAClTCL0UAQACZm1sDb1GAQACZm1sAsq7yrvwAMni
|
||||
ANjd5tXd6ADp4gDKu83NvwDk4+nmAODZANrZ5ubtuP7h1d3nAN7ZAOK02eIA1erV3ecA2eLX4+bZAN7V
|
||||
4dXd5wDq6a3/zukA2Nnq5tXd5wDV4ODZ5gAWAMi/yM+9zMPLz7/+5OPp5gDo2QDm2eLn2d3b4tnmrf/G
|
||||
2QDNu70A2efoAOTg2d3ira2t+87pANjZ6ubV3ecA2tXd5tkA2NkA4NUA5ODV19kA2ej+5tnq2eLd5gDh
|
||||
2QDq493mANni5+nd6Nmt/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACsAAAAAZcTAQ==
|
||||
</value>
|
||||
</data>
|
||||
</root>
|
||||
1102
wc3_tool/WC3/WC3_editor.Designer.cs
generated
Normal file
1102
wc3_tool/WC3/WC3_editor.Designer.cs
generated
Normal file
File diff suppressed because it is too large
Load Diff
426
wc3_tool/WC3/WC3_editor.cs
Normal file
426
wc3_tool/WC3/WC3_editor.cs
Normal file
|
|
@ -0,0 +1,426 @@
|
|||
/*
|
||||
* Created by SharpDevelop.
|
||||
* User: suloku
|
||||
* Date: 28/04/2016
|
||||
* Time: 21:22
|
||||
*
|
||||
* To change this template use Tools | Options | Coding | Edit Standard Headers.
|
||||
*/
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Data;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Windows.Forms;
|
||||
using System.IO;
|
||||
|
||||
using PKHeX;
|
||||
|
||||
using System.Reflection;
|
||||
using System.Resources;
|
||||
|
||||
namespace WC3_TOOL
|
||||
{
|
||||
/// <summary>
|
||||
/// Description of MainForm.
|
||||
/// </summary>
|
||||
public partial class WC3_editor : Form
|
||||
{
|
||||
public WC3_editor()
|
||||
{
|
||||
//
|
||||
// The InitializeComponent() call is required for Windows Forms designer support.
|
||||
//
|
||||
InitializeComponent();
|
||||
faketoogle.Checked = true;
|
||||
regionlab.Text = "";
|
||||
GFX = this.CreateGraphics();
|
||||
colorbox.SelectedIndex = 0;
|
||||
icon_num.Value = 0;
|
||||
|
||||
//
|
||||
// TODO: Add constructor code after the InitializeComponent() call.
|
||||
//
|
||||
}
|
||||
public string wc3filter = "Wonder Card file|*.wc3|All Files (*.*)|*.*";
|
||||
public string scriptfilter = "Script file|*.script|All Files (*.*)|*.*";
|
||||
public string xsescriptfilter = "XSE padded script file|*.gba";
|
||||
public byte[] wc3buffer;
|
||||
public byte[] wc3script_new;
|
||||
public static wc3 wc3file;
|
||||
|
||||
public bool japanese = false;
|
||||
public static bool script_injected = false;
|
||||
|
||||
private Graphics GFX;
|
||||
|
||||
void update_iconbox()
|
||||
{
|
||||
iconbox.Enabled = true;
|
||||
if (icon_num.Value >= 1 && icon_num.Value <= 251){
|
||||
iconbox.SelectedIndex = (UInt16)icon_num.Value;
|
||||
}/*else if (icon_num.Value >= 252 && icon_num.Value <= 276){
|
||||
iconbox.Enabled = false;
|
||||
iconbox.SelectedIndex = 440;
|
||||
}*/else if (icon_num.Value >= 251 && icon_num.Value <= 440){
|
||||
iconbox.SelectedIndex = (UInt16)icon_num.Value;
|
||||
}else if (icon_num.Value == 0xFFFF){
|
||||
iconbox.SelectedIndex = 0;
|
||||
}else{
|
||||
iconbox.Enabled = false;
|
||||
iconbox.SelectedIndex = 440;
|
||||
}
|
||||
}
|
||||
string fill_line(string line, int index) //Fills string with spaces to "erase" old content.
|
||||
{
|
||||
if (japanese == true)
|
||||
{
|
||||
switch (index)
|
||||
{
|
||||
case 0:
|
||||
while(line.Length < 18)
|
||||
{
|
||||
line = line + " ";
|
||||
}
|
||||
break;
|
||||
case 1:
|
||||
while(line.Length < 13)
|
||||
{
|
||||
line = line + " ";
|
||||
}
|
||||
break;
|
||||
default:
|
||||
while(line.Length < 20)
|
||||
{
|
||||
line = line + " ";
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
}else
|
||||
{
|
||||
while(line.Length < 40)
|
||||
{
|
||||
line = line + " ";
|
||||
}
|
||||
}
|
||||
|
||||
return line;
|
||||
|
||||
}
|
||||
void update_wcdata()
|
||||
{
|
||||
switch (wc3file.distributable)
|
||||
{
|
||||
case 0:
|
||||
distro_but_no.Checked = true;
|
||||
break;
|
||||
case 1:
|
||||
distro_but_always.Checked = true;
|
||||
break;
|
||||
case 2:
|
||||
distro_but_one.Checked = true;
|
||||
break;
|
||||
default:
|
||||
distro_but_no.Checked = true;
|
||||
break;
|
||||
}
|
||||
icon_num.Value = wc3file.get_wc_icon();
|
||||
update_iconbox();
|
||||
colorbox.SelectedIndex = wc3file.get_wc_color();
|
||||
|
||||
|
||||
header1.Text = wc3file.get_wc_text_2(0);
|
||||
header2.Text = wc3file.get_wc_text_2(1);
|
||||
body1.Text = wc3file.get_wc_text_2(2);
|
||||
body2.Text = wc3file.get_wc_text_2(3);
|
||||
body3.Text = wc3file.get_wc_text_2(4);
|
||||
body4.Text = wc3file.get_wc_text_2(5);
|
||||
footer1.Text = wc3file.get_wc_text_2(6);
|
||||
footer2.Text = wc3file.get_wc_text_2(7);
|
||||
/*
|
||||
header1.Text = wc3file.get_wc_text(0);
|
||||
header2.Text = wc3file.get_wc_text(1);
|
||||
body1.Text = wc3file.get_wc_text(2);
|
||||
body2.Text = wc3file.get_wc_text(3);
|
||||
body3.Text = wc3file.get_wc_text(4);
|
||||
body4.Text = wc3file.get_wc_text(5);
|
||||
footer1.Text = wc3file.get_wc_text(6);
|
||||
footer2.Text = wc3file.get_wc_text(7);
|
||||
*/
|
||||
|
||||
map_bank.Value = wc3file.MAP_BANK;
|
||||
map_map.Value = wc3file.MAP_MAP;
|
||||
map_npc.Value = wc3file.MAP_NPC;
|
||||
}
|
||||
void set_wcdata()
|
||||
{
|
||||
wc3file.clear_wc_text(); //instead of clearing line, clear all text
|
||||
wc3file.insert_wc_text_2(header1.Text, 0);
|
||||
wc3file.insert_wc_text_2(header2.Text, 1);
|
||||
wc3file.insert_wc_text_2(body1.Text, 2);
|
||||
wc3file.insert_wc_text_2(body2.Text, 3);
|
||||
wc3file.insert_wc_text_2(body3.Text, 4);
|
||||
wc3file.insert_wc_text_2(body4.Text, 5);
|
||||
wc3file.insert_wc_text_2(footer1.Text, 6);
|
||||
wc3file.insert_wc_text_2(footer2.Text, 7);
|
||||
/*
|
||||
wc3file.insert_wc_text(header1.Text, 0);
|
||||
wc3file.insert_wc_text(header2.Text, 1);
|
||||
wc3file.insert_wc_text(body1.Text, 2);
|
||||
wc3file.insert_wc_text(body2.Text, 3);
|
||||
wc3file.insert_wc_text(body3.Text, 4);
|
||||
wc3file.insert_wc_text(body4.Text, 5);
|
||||
wc3file.insert_wc_text(footer1.Text, 6);
|
||||
wc3file.insert_wc_text(footer2.Text, 7);
|
||||
*/
|
||||
wc3file.ID = 0x33;
|
||||
wc3file.MAP_BANK = (byte)map_bank.Value;
|
||||
wc3file.MAP_MAP = (byte)map_map.Value;
|
||||
wc3file.MAP_NPC = (byte)map_npc.Value;
|
||||
}
|
||||
|
||||
void Load_WC3(string path)
|
||||
{
|
||||
int filesize = FileIO.load_file(ref wc3buffer, ref path, wc3filter);
|
||||
if( filesize == wc3.SIZE_WC3 || filesize == wc3.SIZE_WC3_jap)
|
||||
{
|
||||
if (filesize == wc3.SIZE_WC3_jap)
|
||||
{
|
||||
japanese = true;
|
||||
regionlab.Text = "JAP";
|
||||
header1.MaxLength = 18;
|
||||
header2.MaxLength = 13;
|
||||
body1.MaxLength = 20;
|
||||
body2.MaxLength = 20;
|
||||
body3.MaxLength = 20;
|
||||
body4.MaxLength = 20;
|
||||
footer1.MaxLength = 20;
|
||||
footer2.MaxLength = 20;
|
||||
}else{
|
||||
japanese = false;
|
||||
regionlab.Text = "USA/EUR";
|
||||
header1.MaxLength = 40;
|
||||
header2.MaxLength = 40;
|
||||
body1.MaxLength = 40;
|
||||
body2.MaxLength = 40;
|
||||
body3.MaxLength = 40;
|
||||
body4.MaxLength = 40;
|
||||
footer1.MaxLength = 40;
|
||||
footer2.MaxLength = 40;
|
||||
}
|
||||
|
||||
wc3_path.Text = path;
|
||||
wc3file = new wc3(wc3buffer);
|
||||
|
||||
update_wcdata();
|
||||
|
||||
save_wc3_but.Enabled = true;
|
||||
export_script_but.Enabled = true;
|
||||
import_script_but.Enabled = true;
|
||||
xse_export.Enabled = true;
|
||||
xse_import.Enabled = true;
|
||||
custom_script.Checked = false;
|
||||
|
||||
drawCard();
|
||||
|
||||
}else{
|
||||
MessageBox.Show("Invalid file size.");
|
||||
}
|
||||
}
|
||||
|
||||
void Load_wc3_butClick(object sender, EventArgs e)
|
||||
{
|
||||
Load_WC3(null);
|
||||
}
|
||||
void Save_wc3_butClick(object sender, EventArgs e)
|
||||
{
|
||||
if (faketoogle.Checked == true)
|
||||
wc3file.fakeWC();
|
||||
//wc3file.fakeSCript();
|
||||
//wc3file.clean_trash();
|
||||
wc3file.set_wc_icon((UInt16)icon_num.Value);
|
||||
int distro = 0;
|
||||
if (distro_but_always.Checked == true)
|
||||
distro = 1;
|
||||
else if (distro_but_one.Checked == true)
|
||||
distro = 2;
|
||||
else
|
||||
distro = 0;
|
||||
wc3file.set_wc_color_distro(colorbox.SelectedIndex , distro);
|
||||
set_wcdata();
|
||||
wc3file.fix_script_checksum();
|
||||
wc3file.fix_wc_checksum();
|
||||
if (wc3file.Edited)
|
||||
FileIO.save_data(wc3file.Data, wc3filter);
|
||||
else MessageBox.Show("Save has not been edited");
|
||||
}
|
||||
void Export_script_butClick(object sender, EventArgs e)
|
||||
{
|
||||
FileIO.save_data(wc3file.get_script(), scriptfilter);
|
||||
}
|
||||
void Import_script_butClick(object sender, EventArgs e)
|
||||
{
|
||||
string path = null;
|
||||
int filesize = FileIO.load_file(ref wc3script_new, ref path, scriptfilter);
|
||||
if( filesize <= 996 )
|
||||
{
|
||||
wc3file.set_script(wc3script_new);
|
||||
custom_script.Checked = true;
|
||||
MessageBox.Show("Custom script imported.");
|
||||
|
||||
}else{
|
||||
MessageBox.Show("Invalid file size.");
|
||||
}
|
||||
}
|
||||
void IconboxSelectedIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
if (iconbox.SelectedIndex == 0)
|
||||
icon_num.Value = 0xFFFF;
|
||||
else if(iconbox.SelectedIndex > 251)
|
||||
icon_num.Value = iconbox.SelectedIndex;
|
||||
else
|
||||
icon_num.Value = iconbox.SelectedIndex;
|
||||
}
|
||||
void Icon_numValueChanged(object sender, EventArgs e)
|
||||
{
|
||||
update_iconbox();
|
||||
drawCard();
|
||||
}
|
||||
void WC3_editorLoad(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
}
|
||||
void GiveEgg_butClick(object sender, EventArgs e)
|
||||
{
|
||||
Form giveEeg = new WC3_editor_givegg();
|
||||
giveEeg.ShowDialog();
|
||||
if (script_injected == true)
|
||||
{
|
||||
script_injected = false;
|
||||
custom_script.Checked = true;
|
||||
MessageBox.Show("Give Egg script injected.");
|
||||
}
|
||||
}
|
||||
void ColorboxSelectedIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
drawCard();
|
||||
}
|
||||
ResourceManager resources = new ResourceManager("WC3_TOOL.WC3.Image.Cards", Assembly.GetExecutingAssembly());
|
||||
ResourceManager resources2 = new ResourceManager("WC3_TOOL.WC3.Image.Icons", Assembly.GetExecutingAssembly());
|
||||
Image bitmap2;
|
||||
Image bitmap;
|
||||
void drawCard()
|
||||
{
|
||||
bitmap = (Image)resources.GetObject("Card_"+colorbox.SelectedIndex.ToString());
|
||||
GFX.DrawImage(bitmap, 501, 141, 238, 158);
|
||||
|
||||
if (icon_num.Value <= 251 || (icon_num.Value >= 277 && icon_num.Value <= 411))
|
||||
{
|
||||
bitmap2 = (Image)resources2.GetObject(PKHeX.PKM.getG4Species((int)icon_num.Value).ToString());
|
||||
GFX.DrawImage(bitmap2, 700, 140, 40, 40);
|
||||
}else if ((icon_num.Value >= 412 && icon_num.Value <= 439)) // Egg and unown forms
|
||||
{
|
||||
bitmap2 = (Bitmap)resources2.GetObject(icon_num.Value.ToString());
|
||||
GFX.DrawImage(bitmap2, 700, 140, 40, 40);
|
||||
}else
|
||||
{
|
||||
bitmap2 = (Bitmap)resources2.GetObject("0");
|
||||
GFX.DrawImage(bitmap2, 700, 140, 40, 40);
|
||||
}
|
||||
|
||||
|
||||
GFX.DrawString(header1.Text, new Font("Calibri", 8), Brushes.Black, 500+10+1, 140+12);
|
||||
GFX.DrawString(header2.Text, new Font("Calibri", 8), Brushes.Black, 500+10+1, 140+28);
|
||||
GFX.DrawString(body1.Text, new Font("Calibri", 8), Brushes.Black, 500+5+1, 140+50);
|
||||
GFX.DrawString(body2.Text, new Font("Calibri", 8), Brushes.Black, 500+5+1, 140+66);
|
||||
GFX.DrawString(body3.Text, new Font("Calibri", 8), Brushes.Black, 500+5+1, 140+82);
|
||||
GFX.DrawString(body4.Text, new Font("Calibri", 8), Brushes.Black, 500+5+1, 140+98);
|
||||
GFX.DrawString(footer1.Text, new Font("Calibri", 8), Brushes.Black, 500+5+1, 140+122);
|
||||
GFX.DrawString(footer2.Text, new Font("Calibri", 8), Brushes.Black, 500+5+1, 140+138);
|
||||
|
||||
}
|
||||
void Header1TextChanged(object sender, EventArgs e)
|
||||
{
|
||||
drawCard();
|
||||
}
|
||||
void Header2TextChanged(object sender, EventArgs e)
|
||||
{
|
||||
drawCard();
|
||||
}
|
||||
void Body1TextChanged(object sender, EventArgs e)
|
||||
{
|
||||
drawCard();
|
||||
}
|
||||
void Body2TextChanged(object sender, EventArgs e)
|
||||
{
|
||||
drawCard();
|
||||
}
|
||||
void Body3TextChanged(object sender, EventArgs e)
|
||||
{
|
||||
drawCard();
|
||||
}
|
||||
void Body4TextChanged(object sender, EventArgs e)
|
||||
{
|
||||
drawCard();
|
||||
}
|
||||
void Footer1TextChanged(object sender, EventArgs e)
|
||||
{
|
||||
drawCard();
|
||||
}
|
||||
void Footer2TextChanged(object sender, EventArgs e)
|
||||
{
|
||||
drawCard();
|
||||
}
|
||||
void Map_helpClick(object sender, EventArgs e)
|
||||
{
|
||||
MessageBox.Show("These values are used to associate the script to a NPC character in the game.\n\nYou can use Advance Map to locate the values for all NPC in the game.\n\nIn Emerald, father at petalburg Gym is Bank 08, Map 01, NPC 01.\n\n For Wondercard Deliveryman set all to 255");
|
||||
}
|
||||
void Xse_helpClick(object sender, EventArgs e)
|
||||
{
|
||||
MessageBox.Show("XSE Export: exports the script with padding corresponding to base address of the script and *.gba extension. You can directly load (and edit) the script in XSE, script offset will be shown when using the export button.\nXSE Import: imports a *.gba script generated by this tool after editing (or not) with XSE (importing anything else will not correctly work).\n\nThese options are just for convenience, the scripts are in no way gba roms, but it's the more convenient way to edit them in XSE.");
|
||||
}
|
||||
void Xse_exportClick(object sender, EventArgs e)
|
||||
{
|
||||
FileIO.save_data(wc3file.get_script_XSE(), xsescriptfilter);
|
||||
}
|
||||
void Xse_importClick(object sender, EventArgs e)
|
||||
{
|
||||
string path = null;
|
||||
int filesize = FileIO.load_file(ref wc3script_new, ref path, xsescriptfilter);
|
||||
if( filesize <= 1000 )
|
||||
{
|
||||
wc3file.set_script_XSE(wc3script_new);
|
||||
custom_script.Checked = true;
|
||||
MessageBox.Show("Custom script imported.");
|
||||
|
||||
}else{
|
||||
MessageBox.Show("Invalid file size.");
|
||||
}
|
||||
}
|
||||
void GiveEggExt_butClick(object sender, EventArgs e)
|
||||
{
|
||||
Form giveEegExt = new WC3_editor_giveggExt();
|
||||
giveEegExt.ShowDialog();
|
||||
if (script_injected == true)
|
||||
{
|
||||
script_injected = false;
|
||||
custom_script.Checked = true;
|
||||
MessageBox.Show("Give Egg script injected.");
|
||||
}
|
||||
}
|
||||
|
||||
void WC3_editorDragEnter(object sender, DragEventArgs e)
|
||||
{
|
||||
e.Effect = DragDropEffects.All;
|
||||
}
|
||||
void WC3_editorDragDrop(object sender, DragEventArgs e)
|
||||
{
|
||||
string[] files = (string[])e.Data.GetData(DataFormats.FileDrop, false);
|
||||
Load_WC3(files[0]);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
120
wc3_tool/WC3/WC3_editor.resx
Normal file
120
wc3_tool/WC3/WC3_editor.resx
Normal file
|
|
@ -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>
|
||||
973
wc3_tool/WC3/WC3_editor_givegg.Designer.cs
generated
Normal file
973
wc3_tool/WC3/WC3_editor_givegg.Designer.cs
generated
Normal file
|
|
@ -0,0 +1,973 @@
|
|||
/*
|
||||
* Created by SharpDevelop.
|
||||
* User: suloku
|
||||
* Date: 07/05/2016
|
||||
* Time: 21:27
|
||||
*
|
||||
* To change this template use Tools | Options | Coding | Edit Standard Headers.
|
||||
*/
|
||||
namespace WC3_TOOL
|
||||
{
|
||||
partial class WC3_editor_givegg
|
||||
{
|
||||
/// <summary>
|
||||
/// Designer variable used to keep track of non-visual components.
|
||||
/// </summary>
|
||||
private System.ComponentModel.IContainer components = null;
|
||||
private System.Windows.Forms.ComboBox species_box;
|
||||
private System.Windows.Forms.Label label1;
|
||||
private System.Windows.Forms.ComboBox move_box;
|
||||
private System.Windows.Forms.Label label2;
|
||||
private System.Windows.Forms.ComboBox game_box;
|
||||
private System.Windows.Forms.ComboBox lang_box;
|
||||
private System.Windows.Forms.Label label3;
|
||||
private System.Windows.Forms.Label label4;
|
||||
private System.Windows.Forms.Button save_but;
|
||||
private System.Windows.Forms.Button cancel_but;
|
||||
|
||||
/// <summary>
|
||||
/// Disposes resources used by the form.
|
||||
/// </summary>
|
||||
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing) {
|
||||
if (components != null) {
|
||||
components.Dispose();
|
||||
}
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// This method is required for Windows Forms designer support.
|
||||
/// Do not change the method contents inside the source code editor. The Forms designer might
|
||||
/// not be able to load this method if it was changed manually.
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
this.species_box = new System.Windows.Forms.ComboBox();
|
||||
this.label1 = new System.Windows.Forms.Label();
|
||||
this.move_box = new System.Windows.Forms.ComboBox();
|
||||
this.label2 = new System.Windows.Forms.Label();
|
||||
this.game_box = new System.Windows.Forms.ComboBox();
|
||||
this.lang_box = new System.Windows.Forms.ComboBox();
|
||||
this.label3 = new System.Windows.Forms.Label();
|
||||
this.label4 = new System.Windows.Forms.Label();
|
||||
this.save_but = new System.Windows.Forms.Button();
|
||||
this.cancel_but = new System.Windows.Forms.Button();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// species_box
|
||||
//
|
||||
this.species_box.FormattingEnabled = true;
|
||||
this.species_box.Items.AddRange(new object[] {
|
||||
"NONE",
|
||||
"Bulbasaur",
|
||||
"Ivysaur",
|
||||
"Venusaur",
|
||||
"Charmander",
|
||||
"Charmeleon",
|
||||
"Charizard",
|
||||
"Squirtle",
|
||||
"Wartortle",
|
||||
"Blastoise",
|
||||
"Caterpie",
|
||||
"Metapod",
|
||||
"Butterfree",
|
||||
"Weedle",
|
||||
"Kakuna",
|
||||
"Beedrill",
|
||||
"Pidgey",
|
||||
"Pidgeotto",
|
||||
"Pidgeot",
|
||||
"Rattata",
|
||||
"Raticate",
|
||||
"Spearow",
|
||||
"Fearow",
|
||||
"Ekans",
|
||||
"Arbok",
|
||||
"Pikachu",
|
||||
"Raichu",
|
||||
"Sandshrew",
|
||||
"Sandslash",
|
||||
"Nidoran♀",
|
||||
"Nidorina",
|
||||
"Nidoqueen",
|
||||
"Nidoran♂",
|
||||
"Nidorino",
|
||||
"Nidoking",
|
||||
"Clefairy",
|
||||
"Clefable",
|
||||
"Vulpix",
|
||||
"Ninetales",
|
||||
"Jigglypuff",
|
||||
"Wigglytuff",
|
||||
"Zubat",
|
||||
"Golbat",
|
||||
"Oddish",
|
||||
"Gloom",
|
||||
"Vileplume",
|
||||
"Paras",
|
||||
"Parasect",
|
||||
"Venonat",
|
||||
"Venomoth",
|
||||
"Diglett",
|
||||
"Dugtrio",
|
||||
"Meowth",
|
||||
"Persian",
|
||||
"Psyduck",
|
||||
"Golduck",
|
||||
"Mankey",
|
||||
"Primeape",
|
||||
"Growlithe",
|
||||
"Arcanine",
|
||||
"Poliwag",
|
||||
"Poliwhirl",
|
||||
"Poliwrath",
|
||||
"Abra",
|
||||
"Kadabra",
|
||||
"Alakazam",
|
||||
"Machop",
|
||||
"Machoke",
|
||||
"Machamp",
|
||||
"Bellsprout",
|
||||
"Weepinbell",
|
||||
"Victreebel",
|
||||
"Tentacool",
|
||||
"Tentacruel",
|
||||
"Geodude",
|
||||
"Graveler",
|
||||
"Golem",
|
||||
"Ponyta",
|
||||
"Rapidash",
|
||||
"Slowpoke",
|
||||
"Slowbro",
|
||||
"Magnemite",
|
||||
"Magneton",
|
||||
"Farfetch\'d",
|
||||
"Doduo",
|
||||
"Dodrio",
|
||||
"Seel",
|
||||
"Dewgong",
|
||||
"Grimer",
|
||||
"Muk",
|
||||
"Shellder",
|
||||
"Cloyster",
|
||||
"Gastly",
|
||||
"Haunter",
|
||||
"Gengar",
|
||||
"Onix",
|
||||
"Drowzee",
|
||||
"Hypno",
|
||||
"Krabby",
|
||||
"Kingler",
|
||||
"Voltorb",
|
||||
"Electrode",
|
||||
"Exeggcute",
|
||||
"Exeggutor",
|
||||
"Cubone",
|
||||
"Marowak",
|
||||
"Hitmonlee",
|
||||
"Hitmonchan",
|
||||
"Lickitung",
|
||||
"Koffing",
|
||||
"Weezing",
|
||||
"Rhyhorn",
|
||||
"Rhydon",
|
||||
"Chansey",
|
||||
"Tangela",
|
||||
"Kangaskhan",
|
||||
"Horsea",
|
||||
"Seadra",
|
||||
"Goldeen",
|
||||
"Seaking",
|
||||
"Staryu",
|
||||
"Starmie",
|
||||
"Mr. Mime",
|
||||
"Scyther",
|
||||
"Jynx",
|
||||
"Electabuzz",
|
||||
"Magmar",
|
||||
"Pinsir",
|
||||
"Tauros",
|
||||
"Magikarp",
|
||||
"Gyarados",
|
||||
"Lapras",
|
||||
"Ditto",
|
||||
"Eevee",
|
||||
"Vaporeon",
|
||||
"Jolteon",
|
||||
"Flareon",
|
||||
"Porygon",
|
||||
"Omanyte",
|
||||
"Omastar",
|
||||
"Kabuto",
|
||||
"Kabutops",
|
||||
"Aerodactyl",
|
||||
"Snorlax",
|
||||
"Articuno",
|
||||
"Zapdos",
|
||||
"Moltres",
|
||||
"Dratini",
|
||||
"Dragonair",
|
||||
"Dragonite",
|
||||
"Mewtwo",
|
||||
"Mew",
|
||||
"Chikorita",
|
||||
"Bayleef",
|
||||
"Meganium",
|
||||
"Cyndaquil",
|
||||
"Quilava",
|
||||
"Typhlosion",
|
||||
"Totodile",
|
||||
"Croconaw",
|
||||
"Feraligatr",
|
||||
"Sentret",
|
||||
"Furret",
|
||||
"Hoothoot",
|
||||
"Noctowl",
|
||||
"Ledyba",
|
||||
"Ledian",
|
||||
"Spinarak",
|
||||
"Ariados",
|
||||
"Crobat",
|
||||
"Chinchou",
|
||||
"Lanturn",
|
||||
"Pichu",
|
||||
"Cleffa",
|
||||
"Igglybuff",
|
||||
"Togepi",
|
||||
"Togetic",
|
||||
"Natu",
|
||||
"Xatu",
|
||||
"Mareep",
|
||||
"Flaaffy",
|
||||
"Ampharos",
|
||||
"Bellossom",
|
||||
"Marill",
|
||||
"Azumarill",
|
||||
"Sudowoodo",
|
||||
"Politoed",
|
||||
"Hoppip",
|
||||
"Skiploom",
|
||||
"Jumpluff",
|
||||
"Aipom",
|
||||
"Sunkern",
|
||||
"Sunflora",
|
||||
"Yanma",
|
||||
"Wooper",
|
||||
"Quagsire",
|
||||
"Espeon",
|
||||
"Umbreon",
|
||||
"Murkrow",
|
||||
"Slowking",
|
||||
"Misdreavus",
|
||||
"Unown A",
|
||||
"Wobbuffet",
|
||||
"Girafarig",
|
||||
"Pineco",
|
||||
"Forretress",
|
||||
"Dunsparce",
|
||||
"Gligar",
|
||||
"Steelix",
|
||||
"Snubbull",
|
||||
"Granbull",
|
||||
"Qwilfish",
|
||||
"Scizor",
|
||||
"Shuckle",
|
||||
"Heracross",
|
||||
"Sneasel",
|
||||
"Teddiursa",
|
||||
"Ursaring",
|
||||
"Slugma",
|
||||
"Magcargo",
|
||||
"Swinub",
|
||||
"Piloswine",
|
||||
"Corsola",
|
||||
"Remoraid",
|
||||
"Octillery",
|
||||
"Delibird",
|
||||
"Mantine",
|
||||
"Skarmory",
|
||||
"Houndour",
|
||||
"Houndoom",
|
||||
"Kingdra",
|
||||
"Phanpy",
|
||||
"Donphan",
|
||||
"Porygon2",
|
||||
"Stantler",
|
||||
"Smeargle",
|
||||
"Tyrogue",
|
||||
"Hitmontop",
|
||||
"Smoochum",
|
||||
"Elekid",
|
||||
"Magby",
|
||||
"Miltank",
|
||||
"Blissey",
|
||||
"Raikou",
|
||||
"Entei",
|
||||
"Suicune",
|
||||
"Larvitar",
|
||||
"Pupitar",
|
||||
"Tyranitar",
|
||||
"Lugia",
|
||||
"Ho-oh",
|
||||
"Celebi",
|
||||
"? (glitch Pokémon)",
|
||||
"? (glitch Pokémon)",
|
||||
"? (glitch Pokémon)",
|
||||
"? (glitch Pokémon)",
|
||||
"? (glitch Pokémon)",
|
||||
"? (glitch Pokémon)",
|
||||
"? (glitch Pokémon)",
|
||||
"? (glitch Pokémon)",
|
||||
"? (glitch Pokémon)",
|
||||
"? (glitch Pokémon)",
|
||||
"? (glitch Pokémon)",
|
||||
"? (glitch Pokémon)",
|
||||
"? (glitch Pokémon)",
|
||||
"? (glitch Pokémon)",
|
||||
"? (glitch Pokémon)",
|
||||
"? (glitch Pokémon)",
|
||||
"? (glitch Pokémon)",
|
||||
"? (glitch Pokémon)",
|
||||
"? (glitch Pokémon)",
|
||||
"? (glitch Pokémon)",
|
||||
"? (glitch Pokémon)",
|
||||
"? (glitch Pokémon)",
|
||||
"? (glitch Pokémon)",
|
||||
"? (glitch Pokémon)",
|
||||
"? (glitch Pokémon)",
|
||||
"Treecko",
|
||||
"Grovyle",
|
||||
"Sceptile",
|
||||
"Torchic",
|
||||
"Combusken",
|
||||
"Blaziken",
|
||||
"Mudkip",
|
||||
"Marshtomp",
|
||||
"Swampert",
|
||||
"Poochyena",
|
||||
"Mightyena",
|
||||
"Zigzagoon",
|
||||
"Linoone",
|
||||
"Wurmple",
|
||||
"Silcoon",
|
||||
"Beautifly",
|
||||
"Cascoon",
|
||||
"Dustox",
|
||||
"Lotad",
|
||||
"Lombre",
|
||||
"Ludicolo",
|
||||
"Seedot",
|
||||
"Nuzleaf",
|
||||
"Shiftry",
|
||||
"Nincada",
|
||||
"Ninjask",
|
||||
"Shedinja",
|
||||
"Taillow",
|
||||
"Swellow",
|
||||
"Shroomish",
|
||||
"Breloom",
|
||||
"Spinda",
|
||||
"Wingull",
|
||||
"Pelipper",
|
||||
"Surskit",
|
||||
"Masquerain",
|
||||
"Wailmer",
|
||||
"Wailord",
|
||||
"Skitty",
|
||||
"Delcatty",
|
||||
"Kecleon",
|
||||
"Baltoy",
|
||||
"Claydol",
|
||||
"Nosepass",
|
||||
"Torkoal",
|
||||
"Sableye",
|
||||
"Barboach",
|
||||
"Whiscash",
|
||||
"Luvdisc",
|
||||
"Corphish",
|
||||
"Crawdaunt",
|
||||
"Feebas",
|
||||
"Milotic",
|
||||
"Carvanha",
|
||||
"Sharpedo",
|
||||
"Trapinch",
|
||||
"Vibrava",
|
||||
"Flygon",
|
||||
"Makuhita",
|
||||
"Hariyama",
|
||||
"Electrike",
|
||||
"Manectric",
|
||||
"Numel",
|
||||
"Camerupt",
|
||||
"Spheal",
|
||||
"Sealeo",
|
||||
"Walrein",
|
||||
"Cacnea",
|
||||
"Cacturne",
|
||||
"Snorunt",
|
||||
"Glalie",
|
||||
"Lunatone",
|
||||
"Solrock",
|
||||
"Azurill",
|
||||
"Spoink",
|
||||
"Grumpig",
|
||||
"Plusle",
|
||||
"Minun",
|
||||
"Mawile",
|
||||
"Meditite",
|
||||
"Medicham",
|
||||
"Swablu",
|
||||
"Altaria",
|
||||
"Wynaut",
|
||||
"Duskull",
|
||||
"Dusclops",
|
||||
"Roselia",
|
||||
"Slakoth",
|
||||
"Vigoroth",
|
||||
"Slaking",
|
||||
"Gulpin",
|
||||
"Swalot",
|
||||
"Tropius",
|
||||
"Whismur",
|
||||
"Loudred",
|
||||
"Exploud",
|
||||
"Clamperl",
|
||||
"Huntail",
|
||||
"Gorebyss",
|
||||
"Absol",
|
||||
"Shuppet",
|
||||
"Banette",
|
||||
"Seviper",
|
||||
"Zangoose",
|
||||
"Relicanth",
|
||||
"Aron",
|
||||
"Lairon",
|
||||
"Aggron",
|
||||
"Castform",
|
||||
"Volbeat",
|
||||
"Illumise",
|
||||
"Lileep",
|
||||
"Cradily",
|
||||
"Anorith",
|
||||
"Armaldo",
|
||||
"Ralts",
|
||||
"Kirlia",
|
||||
"Gardevoir",
|
||||
"Bagon",
|
||||
"Shelgon",
|
||||
"Salamence",
|
||||
"Beldum",
|
||||
"Metang",
|
||||
"Metagross",
|
||||
"Regirock",
|
||||
"Regice",
|
||||
"Registeel",
|
||||
"Kyogre",
|
||||
"Groudon",
|
||||
"Rayquaza",
|
||||
"Latias",
|
||||
"Latios",
|
||||
"Jirachi",
|
||||
"Deoxys",
|
||||
"Chimecho",
|
||||
"Pokémon Egg",
|
||||
"Unown B",
|
||||
"Unown C",
|
||||
"Unown D",
|
||||
"Unown E",
|
||||
"Unown F",
|
||||
"Unown G",
|
||||
"Unown H",
|
||||
"Unown I",
|
||||
"Unown J",
|
||||
"Unown K",
|
||||
"Unown L",
|
||||
"Unown M",
|
||||
"Unown N",
|
||||
"Unown O",
|
||||
"Unown P",
|
||||
"Unown Q",
|
||||
"Unown R",
|
||||
"Unown S",
|
||||
"Unown T",
|
||||
"Unown U",
|
||||
"Unown V",
|
||||
"Unown W",
|
||||
"Unown X",
|
||||
"Unown Y",
|
||||
"Unown Z",
|
||||
"Unown !",
|
||||
"Unown ?"});
|
||||
this.species_box.Location = new System.Drawing.Point(12, 69);
|
||||
this.species_box.Name = "species_box";
|
||||
this.species_box.Size = new System.Drawing.Size(170, 21);
|
||||
this.species_box.TabIndex = 0;
|
||||
//
|
||||
// label1
|
||||
//
|
||||
this.label1.Location = new System.Drawing.Point(12, 51);
|
||||
this.label1.Name = "label1";
|
||||
this.label1.Size = new System.Drawing.Size(100, 15);
|
||||
this.label1.TabIndex = 1;
|
||||
this.label1.Text = "Pokemon:";
|
||||
//
|
||||
// move_box
|
||||
//
|
||||
this.move_box.FormattingEnabled = true;
|
||||
this.move_box.Items.AddRange(new object[] {
|
||||
"-NONE-",
|
||||
"Pound",
|
||||
"Karate Chop*",
|
||||
"Double Slap",
|
||||
"Comet Punch",
|
||||
"Mega Punch",
|
||||
"Pay Day",
|
||||
"Fire Punch",
|
||||
"Ice Punch",
|
||||
"Thunder Punch",
|
||||
"Scratch",
|
||||
"Vice Grip",
|
||||
"Guillotine",
|
||||
"Razor Wind",
|
||||
"Swords Dance",
|
||||
"Cut",
|
||||
"Gust*",
|
||||
"Wing Attack",
|
||||
"Whirlwind",
|
||||
"Fly",
|
||||
"Bind",
|
||||
"Slam",
|
||||
"Vine Whip",
|
||||
"Stomp",
|
||||
"Double Kick",
|
||||
"Mega Kick",
|
||||
"Jump Kick",
|
||||
"Rolling Kick",
|
||||
"Sand Attack*",
|
||||
"Headbutt",
|
||||
"Horn Attack",
|
||||
"Fury Attack",
|
||||
"Horn Drill",
|
||||
"Tackle",
|
||||
"Body Slam",
|
||||
"Wrap",
|
||||
"Take Down",
|
||||
"Thrash",
|
||||
"Double-Edge",
|
||||
"Tail Whip",
|
||||
"Poison Sting",
|
||||
"Twineedle",
|
||||
"Pin Missile",
|
||||
"Leer",
|
||||
"Bite*",
|
||||
"Growl",
|
||||
"Roar",
|
||||
"Sing",
|
||||
"Supersonic",
|
||||
"Sonic Boom",
|
||||
"Disable",
|
||||
"Acid",
|
||||
"Ember",
|
||||
"Flamethrower",
|
||||
"Mist",
|
||||
"Water Gun",
|
||||
"Hydro Pump",
|
||||
"Surf",
|
||||
"Ice Beam",
|
||||
"Blizzard",
|
||||
"Psybeam",
|
||||
"Bubble Beam",
|
||||
"Aurora Beam",
|
||||
"Hyper Beam",
|
||||
"Peck",
|
||||
"Drill Peck",
|
||||
"Submission",
|
||||
"Low Kick",
|
||||
"Counter",
|
||||
"Seismic Toss",
|
||||
"Strength",
|
||||
"Absorb",
|
||||
"Mega Drain",
|
||||
"Leech Seed",
|
||||
"Growth",
|
||||
"Razor Leaf",
|
||||
"Solar Beam",
|
||||
"Poison Powder",
|
||||
"Stun Spore",
|
||||
"Sleep Powder",
|
||||
"Petal Dance",
|
||||
"String Shot",
|
||||
"Dragon Rage",
|
||||
"Fire Spin",
|
||||
"Thunder Shock",
|
||||
"Thunderbolt",
|
||||
"Thunder Wave",
|
||||
"Thunder",
|
||||
"Rock Throw",
|
||||
"Earthquake",
|
||||
"Fissure",
|
||||
"Dig",
|
||||
"Toxic",
|
||||
"Confusion",
|
||||
"Psychic",
|
||||
"Hypnosis",
|
||||
"Meditate",
|
||||
"Agility",
|
||||
"Quick Attack",
|
||||
"Rage",
|
||||
"Teleport",
|
||||
"Night Shade",
|
||||
"Mimic",
|
||||
"Screech",
|
||||
"Double Team",
|
||||
"Recover",
|
||||
"Harden",
|
||||
"Minimize",
|
||||
"Smokescreen",
|
||||
"Confuse Ray",
|
||||
"Withdraw",
|
||||
"Defense Curl",
|
||||
"Barrier",
|
||||
"Light Screen",
|
||||
"Haze",
|
||||
"Reflect",
|
||||
"Focus Energy",
|
||||
"Bide",
|
||||
"Metronome",
|
||||
"Mirror Move",
|
||||
"Self-Destruct",
|
||||
"Egg Bomb",
|
||||
"Lick",
|
||||
"Smog",
|
||||
"Sludge",
|
||||
"Bone Club",
|
||||
"Fire Blast",
|
||||
"Waterfall",
|
||||
"Clamp",
|
||||
"Swift",
|
||||
"Skull Bash",
|
||||
"Spike Cannon",
|
||||
"Constrict",
|
||||
"Amnesia",
|
||||
"Kinesis",
|
||||
"Soft-Boiled",
|
||||
"High Jump Kick",
|
||||
"Glare",
|
||||
"Dream Eater",
|
||||
"Poison Gas",
|
||||
"Barrage",
|
||||
"Leech Life",
|
||||
"Lovely Kiss",
|
||||
"Sky Attack",
|
||||
"Transform",
|
||||
"Bubble",
|
||||
"Dizzy Punch",
|
||||
"Spore",
|
||||
"Flash",
|
||||
"Psywave",
|
||||
"Splash",
|
||||
"Acid Armor",
|
||||
"Crabhammer",
|
||||
"Explosion",
|
||||
"Fury Swipes",
|
||||
"Bonemerang",
|
||||
"Rest",
|
||||
"Rock Slide",
|
||||
"Hyper Fang",
|
||||
"Sharpen",
|
||||
"Conversion",
|
||||
"Tri Attack",
|
||||
"Super Fang",
|
||||
"Slash",
|
||||
"Substitute",
|
||||
"Struggle",
|
||||
"Sketch",
|
||||
"Triple Kick",
|
||||
"Thief",
|
||||
"Spider Web",
|
||||
"Mind Reader",
|
||||
"Nightmare",
|
||||
"Flame Wheel",
|
||||
"Snore",
|
||||
"Curse*",
|
||||
"Flail",
|
||||
"Conversion 2",
|
||||
"Aeroblast",
|
||||
"Cotton Spore",
|
||||
"Reversal",
|
||||
"Spite",
|
||||
"Powder Snow",
|
||||
"Protect",
|
||||
"Mach Punch",
|
||||
"Scary Face",
|
||||
"Feint Attack",
|
||||
"Sweet Kiss*",
|
||||
"Belly Drum",
|
||||
"Sludge Bomb",
|
||||
"Mud-Slap",
|
||||
"Octazooka",
|
||||
"Spikes",
|
||||
"Zap Cannon",
|
||||
"Foresight",
|
||||
"Destiny Bond",
|
||||
"Perish Song",
|
||||
"Icy Wind",
|
||||
"Detect",
|
||||
"Bone Rush",
|
||||
"Lock-On",
|
||||
"Outrage",
|
||||
"Sandstorm",
|
||||
"Giga Drain",
|
||||
"Endure",
|
||||
"Charm*",
|
||||
"Rollout",
|
||||
"False Swipe",
|
||||
"Swagger",
|
||||
"Milk Drink",
|
||||
"Spark",
|
||||
"Fury Cutter",
|
||||
"Steel Wing",
|
||||
"Mean Look",
|
||||
"Attract",
|
||||
"Sleep Talk",
|
||||
"Heal Bell",
|
||||
"Return",
|
||||
"Present",
|
||||
"Frustration",
|
||||
"Safeguard",
|
||||
"Pain Split",
|
||||
"Sacred Fire",
|
||||
"Magnitude",
|
||||
"Dynamic Punch",
|
||||
"Megahorn",
|
||||
"Dragon Breath",
|
||||
"Baton Pass",
|
||||
"Encore",
|
||||
"Pursuit",
|
||||
"Rapid Spin",
|
||||
"Sweet Scent",
|
||||
"Iron Tail",
|
||||
"Metal Claw",
|
||||
"Vital Throw",
|
||||
"Morning Sun",
|
||||
"Synthesis",
|
||||
"Moonlight*",
|
||||
"Hidden Power",
|
||||
"Cross Chop",
|
||||
"Twister",
|
||||
"Rain Dance",
|
||||
"Sunny Day",
|
||||
"Crunch",
|
||||
"Mirror Coat",
|
||||
"Psych Up",
|
||||
"Extreme Speed",
|
||||
"Ancient Power",
|
||||
"Shadow Ball",
|
||||
"Future Sight",
|
||||
"Rock Smash",
|
||||
"Whirlpool",
|
||||
"Beat Up",
|
||||
"Fake Out",
|
||||
"Uproar",
|
||||
"Stockpile",
|
||||
"Spit Up",
|
||||
"Swallow",
|
||||
"Heat Wave",
|
||||
"Hail",
|
||||
"Torment",
|
||||
"Flatter",
|
||||
"Will-O-Wisp",
|
||||
"Memento",
|
||||
"Facade",
|
||||
"Focus Punch",
|
||||
"Smelling Salts",
|
||||
"Follow Me",
|
||||
"Nature Power",
|
||||
"Charge",
|
||||
"Taunt",
|
||||
"Helping Hand",
|
||||
"Trick",
|
||||
"Role Play",
|
||||
"Wish",
|
||||
"Assist",
|
||||
"Ingrain",
|
||||
"Superpower",
|
||||
"Magic Coat",
|
||||
"Recycle",
|
||||
"Revenge",
|
||||
"Brick Break",
|
||||
"Yawn",
|
||||
"Knock Off",
|
||||
"Endeavor",
|
||||
"Eruption",
|
||||
"Skill Swap",
|
||||
"Imprison",
|
||||
"Refresh",
|
||||
"Grudge",
|
||||
"Snatch",
|
||||
"Secret Power",
|
||||
"Dive",
|
||||
"Arm Thrust",
|
||||
"Camouflage",
|
||||
"Tail Glow",
|
||||
"Luster Purge",
|
||||
"Mist Ball",
|
||||
"Feather Dance",
|
||||
"Teeter Dance",
|
||||
"Blaze Kick",
|
||||
"Mud Sport",
|
||||
"Ice Ball",
|
||||
"Needle Arm",
|
||||
"Slack Off",
|
||||
"Hyper Voice",
|
||||
"Poison Fang",
|
||||
"Crush Claw",
|
||||
"Blast Burn",
|
||||
"Hydro Cannon",
|
||||
"Meteor Mash",
|
||||
"Astonish",
|
||||
"Weather Ball",
|
||||
"Aromatherapy",
|
||||
"Fake Tears",
|
||||
"Air Cutter",
|
||||
"Overheat",
|
||||
"Odor Sleuth",
|
||||
"Rock Tomb",
|
||||
"Silver Wind",
|
||||
"Metal Sound",
|
||||
"Grass Whistle",
|
||||
"Tickle",
|
||||
"Cosmic Power",
|
||||
"Water Spout",
|
||||
"Signal Beam",
|
||||
"Shadow Punch",
|
||||
"Extrasensory",
|
||||
"Sky Uppercut",
|
||||
"Sand Tomb",
|
||||
"Sheer Cold",
|
||||
"Muddy Water",
|
||||
"Bullet Seed",
|
||||
"Aerial Ace",
|
||||
"Icicle Spear",
|
||||
"Iron Defense",
|
||||
"Block",
|
||||
"Howl",
|
||||
"Dragon Claw",
|
||||
"Frenzy Plant",
|
||||
"Bulk Up",
|
||||
"Bounce",
|
||||
"Mud Shot",
|
||||
"Poison Tail",
|
||||
"Covet",
|
||||
"Volt Tackle",
|
||||
"Magical Leaf",
|
||||
"Water Sport",
|
||||
"Calm Mind",
|
||||
"Leaf Blade",
|
||||
"Dragon Dance",
|
||||
"Rock Blast",
|
||||
"Shock Wave",
|
||||
"Water Pulse",
|
||||
"Doom Desire",
|
||||
"Psycho Boost"});
|
||||
this.move_box.Location = new System.Drawing.Point(188, 69);
|
||||
this.move_box.Name = "move_box";
|
||||
this.move_box.Size = new System.Drawing.Size(170, 21);
|
||||
this.move_box.TabIndex = 2;
|
||||
//
|
||||
// label2
|
||||
//
|
||||
this.label2.Location = new System.Drawing.Point(188, 51);
|
||||
this.label2.Name = "label2";
|
||||
this.label2.Size = new System.Drawing.Size(100, 15);
|
||||
this.label2.TabIndex = 3;
|
||||
this.label2.Text = "Special Move:";
|
||||
//
|
||||
// game_box
|
||||
//
|
||||
this.game_box.FormattingEnabled = true;
|
||||
this.game_box.Items.AddRange(new object[] {
|
||||
"Emerald",
|
||||
"Fire Red / Leaf Green"});
|
||||
this.game_box.Location = new System.Drawing.Point(12, 27);
|
||||
this.game_box.Name = "game_box";
|
||||
this.game_box.Size = new System.Drawing.Size(170, 21);
|
||||
this.game_box.TabIndex = 4;
|
||||
//
|
||||
// lang_box
|
||||
//
|
||||
this.lang_box.FormattingEnabled = true;
|
||||
this.lang_box.Items.AddRange(new object[] {
|
||||
"Japanese",
|
||||
"English",
|
||||
"French",
|
||||
"Italian",
|
||||
"German",
|
||||
"Spanish"});
|
||||
this.lang_box.Location = new System.Drawing.Point(188, 27);
|
||||
this.lang_box.Name = "lang_box";
|
||||
this.lang_box.Size = new System.Drawing.Size(170, 21);
|
||||
this.lang_box.TabIndex = 5;
|
||||
//
|
||||
// label3
|
||||
//
|
||||
this.label3.Location = new System.Drawing.Point(12, 9);
|
||||
this.label3.Name = "label3";
|
||||
this.label3.Size = new System.Drawing.Size(100, 15);
|
||||
this.label3.TabIndex = 6;
|
||||
this.label3.Text = "Game:";
|
||||
//
|
||||
// label4
|
||||
//
|
||||
this.label4.Location = new System.Drawing.Point(188, 9);
|
||||
this.label4.Name = "label4";
|
||||
this.label4.Size = new System.Drawing.Size(100, 15);
|
||||
this.label4.TabIndex = 7;
|
||||
this.label4.Text = "Language:";
|
||||
//
|
||||
// save_but
|
||||
//
|
||||
this.save_but.Location = new System.Drawing.Point(107, 96);
|
||||
this.save_but.Name = "save_but";
|
||||
this.save_but.Size = new System.Drawing.Size(75, 23);
|
||||
this.save_but.TabIndex = 8;
|
||||
this.save_but.Text = "Inject";
|
||||
this.save_but.UseVisualStyleBackColor = true;
|
||||
this.save_but.Click += new System.EventHandler(this.Save_butClick);
|
||||
//
|
||||
// cancel_but
|
||||
//
|
||||
this.cancel_but.Location = new System.Drawing.Point(188, 96);
|
||||
this.cancel_but.Name = "cancel_but";
|
||||
this.cancel_but.Size = new System.Drawing.Size(75, 23);
|
||||
this.cancel_but.TabIndex = 9;
|
||||
this.cancel_but.Text = "Cancel";
|
||||
this.cancel_but.UseVisualStyleBackColor = true;
|
||||
this.cancel_but.Click += new System.EventHandler(this.Cancel_butClick);
|
||||
//
|
||||
// WC3_editor_givegg
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.ClientSize = new System.Drawing.Size(371, 127);
|
||||
this.Controls.Add(this.cancel_but);
|
||||
this.Controls.Add(this.save_but);
|
||||
this.Controls.Add(this.label4);
|
||||
this.Controls.Add(this.label3);
|
||||
this.Controls.Add(this.lang_box);
|
||||
this.Controls.Add(this.game_box);
|
||||
this.Controls.Add(this.label2);
|
||||
this.Controls.Add(this.move_box);
|
||||
this.Controls.Add(this.label1);
|
||||
this.Controls.Add(this.species_box);
|
||||
this.Name = "WC3_editor_givegg";
|
||||
this.Text = "ROM Give Egg Script";
|
||||
this.ResumeLayout(false);
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
106
wc3_tool/WC3/WC3_editor_givegg.cs
Normal file
106
wc3_tool/WC3/WC3_editor_givegg.cs
Normal file
|
|
@ -0,0 +1,106 @@
|
|||
/*
|
||||
* Created by SharpDevelop.
|
||||
* User: suloku
|
||||
* Date: 07/05/2016
|
||||
* Time: 21:27
|
||||
*
|
||||
* To change this template use Tools | Options | Coding | Edit Standard Headers.
|
||||
*/
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Data;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Windows.Forms;
|
||||
using System.IO;
|
||||
|
||||
using System.Reflection;
|
||||
using System.Resources;
|
||||
|
||||
namespace WC3_TOOL
|
||||
{
|
||||
/// <summary>
|
||||
/// Description of WC3_editor_givegg.
|
||||
/// </summary>
|
||||
public partial class WC3_editor_givegg : Form
|
||||
{
|
||||
public WC3_editor_givegg()
|
||||
{
|
||||
//
|
||||
// The InitializeComponent() call is required for Windows Forms designer support.
|
||||
//
|
||||
InitializeComponent();
|
||||
game_box.SelectedIndex = 0;
|
||||
lang_box.SelectedIndex = 1;
|
||||
species_box.SelectedIndex = 172;
|
||||
move_box.SelectedIndex = 0x39;
|
||||
/*
|
||||
ResourceManager resources = new ResourceManager("Namespace.ResourceFile", Assembly.GetExecutingAssembly());
|
||||
byte[] fileData = (byte[])ResourceManager.GetObject("Test.dat");
|
||||
Bitmap bitmap = (Bitmap)ResourceManager.GetObject("Image");
|
||||
*/
|
||||
//byte[] fileData = (byte[]) EggScripts.GetObject("ROM"+game+"GiveEgg"+lang);
|
||||
//
|
||||
// TODO: Add constructor code after the InitializeComponent() call.
|
||||
//
|
||||
}
|
||||
void Save_butClick(object sender, EventArgs e)
|
||||
{
|
||||
string game;
|
||||
if (game_box.SelectedIndex == 1)
|
||||
game = "FR";
|
||||
else
|
||||
game = "E";
|
||||
|
||||
string lang = "Eng";
|
||||
switch (lang_box.SelectedIndex)
|
||||
{
|
||||
case 0:
|
||||
lang = "Jap";
|
||||
break;
|
||||
case 1:
|
||||
lang = "Eng";
|
||||
break;
|
||||
case 2:
|
||||
lang = "Fre";
|
||||
break;
|
||||
case 3:
|
||||
lang = "Ita";
|
||||
break;
|
||||
case 4:
|
||||
lang = "Deu";
|
||||
break;
|
||||
case 5:
|
||||
lang = "Esp";
|
||||
break;
|
||||
}
|
||||
//MessageBox.Show("ROM_"+game+"_GiveEgg_"+lang);
|
||||
ResourceManager EggScripts = new ResourceManager("WC3_tool.WC3.GiveEggOrg", Assembly.GetExecutingAssembly());
|
||||
byte[] egg_script = (byte[]) EggScripts.GetObject("ROM_"+game+"_GiveEgg_"+lang);
|
||||
//byte[] egg_script = (byte[]) EggScripts.GetObject("ROM_FR_GiveEgg_Esp");
|
||||
|
||||
UInt16 move;
|
||||
move = (UInt16)move_box.SelectedIndex;
|
||||
BitConverter.GetBytes(move).ToArray().CopyTo(egg_script, 0x86);
|
||||
BitConverter.GetBytes(move).ToArray().CopyTo(egg_script, 0x8C);
|
||||
BitConverter.GetBytes(move).ToArray().CopyTo(egg_script, 0x92);
|
||||
BitConverter.GetBytes(move).ToArray().CopyTo(egg_script, 0x98);
|
||||
BitConverter.GetBytes(move).ToArray().CopyTo(egg_script, 0x9E);
|
||||
|
||||
UInt16 species;
|
||||
species = (UInt16)species_box.SelectedIndex;
|
||||
BitConverter.GetBytes(species).ToArray().CopyTo(egg_script, 0x42);
|
||||
|
||||
WC3_editor.wc3file.set_script(egg_script);
|
||||
WC3_editor.script_injected = true;
|
||||
|
||||
this.Close();
|
||||
}
|
||||
void Cancel_butClick(object sender, EventArgs e)
|
||||
{
|
||||
this.Close();
|
||||
}
|
||||
}
|
||||
}
|
||||
120
wc3_tool/WC3/WC3_editor_givegg.resx
Normal file
120
wc3_tool/WC3/WC3_editor_givegg.resx
Normal file
|
|
@ -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>
|
||||
2160
wc3_tool/WC3/WC3_editor_giveggExt.Designer.cs
generated
Normal file
2160
wc3_tool/WC3/WC3_editor_giveggExt.Designer.cs
generated
Normal file
File diff suppressed because it is too large
Load Diff
155
wc3_tool/WC3/WC3_editor_giveggExt.cs
Normal file
155
wc3_tool/WC3/WC3_editor_giveggExt.cs
Normal file
|
|
@ -0,0 +1,155 @@
|
|||
/*
|
||||
* Created by SharpDevelop.
|
||||
* User: suloku
|
||||
* Date: 07/05/2016
|
||||
* Time: 21:27
|
||||
*
|
||||
* To change this template use Tools | Options | Coding | Edit Standard Headers.
|
||||
*/
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Data;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Windows.Forms;
|
||||
using System.IO;
|
||||
|
||||
using System.Reflection;
|
||||
using System.Resources;
|
||||
|
||||
namespace WC3_TOOL
|
||||
{
|
||||
/// <summary>
|
||||
/// Description of WC3_editor_givegg.
|
||||
/// </summary>
|
||||
public partial class WC3_editor_giveggExt : Form
|
||||
{
|
||||
public WC3_editor_giveggExt()
|
||||
{
|
||||
//
|
||||
// The InitializeComponent() call is required for Windows Forms designer support.
|
||||
//
|
||||
InitializeComponent();
|
||||
game_box.SelectedIndex = 0;
|
||||
lang_box.SelectedIndex = 1;
|
||||
species_box.SelectedIndex = 172;
|
||||
move_box.SelectedIndex = 0x39;
|
||||
move2.SelectedIndex = 0x39;
|
||||
move3.SelectedIndex = 0x39;
|
||||
move4.SelectedIndex = 0x39;
|
||||
/*
|
||||
ResourceManager resources = new ResourceManager("Namespace.ResourceFile", Assembly.GetExecutingAssembly());
|
||||
byte[] fileData = (byte[])ResourceManager.GetObject("Test.dat");
|
||||
Bitmap bitmap = (Bitmap)ResourceManager.GetObject("Image");
|
||||
*/
|
||||
//byte[] fileData = (byte[]) EggScripts.GetObject("ROM"+game+"GiveEgg"+lang);
|
||||
//
|
||||
// TODO: Add constructor code after the InitializeComponent() call.
|
||||
//
|
||||
}
|
||||
void Save_butClick(object sender, EventArgs e)
|
||||
{
|
||||
string game;
|
||||
if (game_box.SelectedIndex == 1)
|
||||
game = "FR";
|
||||
else
|
||||
game = "E";
|
||||
|
||||
string lang = "Eng";
|
||||
switch (lang_box.SelectedIndex)
|
||||
{
|
||||
case 0:
|
||||
lang = "Jap";
|
||||
break;
|
||||
case 1:
|
||||
lang = "Eng";
|
||||
break;
|
||||
case 2:
|
||||
lang = "Fre";
|
||||
break;
|
||||
case 3:
|
||||
lang = "Ita";
|
||||
break;
|
||||
case 4:
|
||||
lang = "Deu";
|
||||
break;
|
||||
case 5:
|
||||
lang = "Esp";
|
||||
break;
|
||||
}
|
||||
//MessageBox.Show("ROM_"+game+"_GiveEgg_"+lang);
|
||||
ResourceManager EggScripts = new ResourceManager("WC3_tool.WC3.GiveEggOrg", Assembly.GetExecutingAssembly());
|
||||
byte[] egg_script;
|
||||
|
||||
if (killscript.Checked == true)
|
||||
egg_script =(byte[]) EggScripts.GetObject("ROM_"+game+"_GiveEgg_"+lang+"_4moves_kill");
|
||||
else
|
||||
egg_script = (byte[]) EggScripts.GetObject("ROM_"+game+"_GiveEgg_"+lang+"_4moves");
|
||||
|
||||
UInt16 move;
|
||||
UInt16 move_2;
|
||||
UInt16 move_3;
|
||||
UInt16 move_4;
|
||||
|
||||
int offset = 4;//Embedded scripts have a 4 byte padding
|
||||
if (killscript.Checked == true)
|
||||
{
|
||||
egg_script[0x5+offset] = 0x00; //Remove jumpram command, I should technically update the embedded script files instead of doing this...
|
||||
offset -= 0xF;//Killscript version is 0xF bytes shorter
|
||||
}
|
||||
move = (UInt16)move_box.SelectedIndex;
|
||||
BitConverter.GetBytes(move).ToArray().CopyTo(egg_script, 0xB1+offset);
|
||||
BitConverter.GetBytes(move).ToArray().CopyTo(egg_script, 0xC7+offset);
|
||||
BitConverter.GetBytes(move).ToArray().CopyTo(egg_script, 0xDD+offset);
|
||||
BitConverter.GetBytes(move).ToArray().CopyTo(egg_script, 0xF3+offset);
|
||||
BitConverter.GetBytes(move).ToArray().CopyTo(egg_script, 0x109+offset);
|
||||
|
||||
offset+=5;
|
||||
move_2 = (UInt16)move2.SelectedIndex;
|
||||
BitConverter.GetBytes(move_2).ToArray().CopyTo(egg_script, 0xB1+offset);
|
||||
BitConverter.GetBytes(move_2).ToArray().CopyTo(egg_script, 0xC7+offset);
|
||||
BitConverter.GetBytes(move_2).ToArray().CopyTo(egg_script, 0xDD+offset);
|
||||
BitConverter.GetBytes(move_2).ToArray().CopyTo(egg_script, 0xF3+offset);
|
||||
BitConverter.GetBytes(move_2).ToArray().CopyTo(egg_script, 0x109+offset);
|
||||
|
||||
offset+=5;
|
||||
move_3 = (UInt16)move3.SelectedIndex;
|
||||
BitConverter.GetBytes(move_3).ToArray().CopyTo(egg_script, 0xB1+offset);
|
||||
BitConverter.GetBytes(move_3).ToArray().CopyTo(egg_script, 0xC7+offset);
|
||||
BitConverter.GetBytes(move_3).ToArray().CopyTo(egg_script, 0xDD+offset);
|
||||
BitConverter.GetBytes(move_3).ToArray().CopyTo(egg_script, 0xF3+offset);
|
||||
BitConverter.GetBytes(move_3).ToArray().CopyTo(egg_script, 0x109+offset);
|
||||
|
||||
offset+=5;
|
||||
move_4 = (UInt16)move4.SelectedIndex;
|
||||
BitConverter.GetBytes(move_4).ToArray().CopyTo(egg_script, 0xB1+offset);
|
||||
BitConverter.GetBytes(move_4).ToArray().CopyTo(egg_script, 0xC7+offset);
|
||||
BitConverter.GetBytes(move_4).ToArray().CopyTo(egg_script, 0xDD+offset);
|
||||
BitConverter.GetBytes(move_4).ToArray().CopyTo(egg_script, 0xF3+offset);
|
||||
BitConverter.GetBytes(move_4).ToArray().CopyTo(egg_script, 0x109+offset);
|
||||
|
||||
UInt16 species;
|
||||
species = (UInt16)species_box.SelectedIndex;
|
||||
if (killscript.Checked == true)
|
||||
BitConverter.GetBytes(species).ToArray().CopyTo(egg_script, 0x5D+4);
|
||||
else
|
||||
BitConverter.GetBytes(species).ToArray().CopyTo(egg_script, 0x6C+4);
|
||||
|
||||
//Because script files embedded have a 4 byte padding for XSE editing...and I'm lazy to strip those 4 bytes
|
||||
WC3_editor.wc3file.set_script(egg_script.Skip(4).Take(996).ToArray());
|
||||
WC3_editor.script_injected = true;
|
||||
|
||||
this.Close();
|
||||
}
|
||||
void Cancel_butClick(object sender, EventArgs e)
|
||||
{
|
||||
this.Close();
|
||||
}
|
||||
void Script_helpClick(object sender, EventArgs e)
|
||||
{
|
||||
MessageBox.Show("Use rom event flag: the script will use the flag that the Egg event found in the ROM uses to mark the EGG as received. The wondercard will be able to be sent and the receiver will be able to receive an egg (if the savegame still has the flag unset).\n\nKillscript: no flags are set in the savegame, so the only outcome is that the egg is received. The script gets erased from the savegame, so sharing the wondercard won't allow receiver to get an egg.");
|
||||
}
|
||||
}
|
||||
}
|
||||
120
wc3_tool/WC3/WC3_editor_giveggExt.resx
Normal file
120
wc3_tool/WC3/WC3_editor_giveggExt.resx
Normal file
|
|
@ -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>
|
||||
403
wc3_tool/WC3/WCN_editor.Designer.cs
generated
Normal file
403
wc3_tool/WC3/WCN_editor.Designer.cs
generated
Normal file
|
|
@ -0,0 +1,403 @@
|
|||
/*
|
||||
* Created by SharpDevelop.
|
||||
* User: suloku
|
||||
* Date: 28/04/2016
|
||||
* Time: 21:22
|
||||
*
|
||||
* To change this template use Tools | Options | Coding | Edit Standard Headers.
|
||||
*/
|
||||
namespace WC3_TOOL
|
||||
{
|
||||
partial class WCN_editor
|
||||
{
|
||||
/// <summary>
|
||||
/// Designer variable used to keep track of non-visual components.
|
||||
/// </summary>
|
||||
private System.ComponentModel.IContainer components = null;
|
||||
private System.Windows.Forms.Button load_wc3_but;
|
||||
private System.Windows.Forms.Button save_wc3_but;
|
||||
private System.Windows.Forms.TextBox wc3_path;
|
||||
private System.Windows.Forms.Label label1;
|
||||
private System.Windows.Forms.Label label2;
|
||||
private System.Windows.Forms.Label label3;
|
||||
private System.Windows.Forms.Label label4;
|
||||
private System.Windows.Forms.Label label5;
|
||||
private System.Windows.Forms.Label label6;
|
||||
private System.Windows.Forms.Label label7;
|
||||
private System.Windows.Forms.Label label8;
|
||||
private System.Windows.Forms.TextBox header1;
|
||||
private System.Windows.Forms.TextBox body5;
|
||||
private System.Windows.Forms.TextBox body1;
|
||||
private System.Windows.Forms.TextBox body2;
|
||||
private System.Windows.Forms.TextBox body3;
|
||||
private System.Windows.Forms.TextBox body4;
|
||||
private System.Windows.Forms.TextBox body6;
|
||||
private System.Windows.Forms.TextBox body7;
|
||||
private System.Windows.Forms.CheckBox distrocheck;
|
||||
private System.Windows.Forms.Label label9;
|
||||
private System.Windows.Forms.ComboBox colorbox;
|
||||
private System.Windows.Forms.Label label10;
|
||||
private System.Windows.Forms.Label label11;
|
||||
private System.Windows.Forms.Label label12;
|
||||
private System.Windows.Forms.TextBox body8;
|
||||
private System.Windows.Forms.TextBox body9;
|
||||
private System.Windows.Forms.TextBox body10;
|
||||
private System.Windows.Forms.Label regionlab;
|
||||
|
||||
/// <summary>
|
||||
/// Disposes resources used by the form.
|
||||
/// </summary>
|
||||
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing) {
|
||||
if (components != null) {
|
||||
components.Dispose();
|
||||
}
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// This method is required for Windows Forms designer support.
|
||||
/// Do not change the method contents inside the source code editor. The Forms designer might
|
||||
/// not be able to load this method if it was changed manually.
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
this.load_wc3_but = new System.Windows.Forms.Button();
|
||||
this.save_wc3_but = new System.Windows.Forms.Button();
|
||||
this.wc3_path = new System.Windows.Forms.TextBox();
|
||||
this.label1 = new System.Windows.Forms.Label();
|
||||
this.label2 = new System.Windows.Forms.Label();
|
||||
this.label3 = new System.Windows.Forms.Label();
|
||||
this.label4 = new System.Windows.Forms.Label();
|
||||
this.label5 = new System.Windows.Forms.Label();
|
||||
this.label6 = new System.Windows.Forms.Label();
|
||||
this.label7 = new System.Windows.Forms.Label();
|
||||
this.label8 = new System.Windows.Forms.Label();
|
||||
this.header1 = new System.Windows.Forms.TextBox();
|
||||
this.body5 = new System.Windows.Forms.TextBox();
|
||||
this.body1 = new System.Windows.Forms.TextBox();
|
||||
this.body2 = new System.Windows.Forms.TextBox();
|
||||
this.body3 = new System.Windows.Forms.TextBox();
|
||||
this.body4 = new System.Windows.Forms.TextBox();
|
||||
this.body6 = new System.Windows.Forms.TextBox();
|
||||
this.body7 = new System.Windows.Forms.TextBox();
|
||||
this.distrocheck = new System.Windows.Forms.CheckBox();
|
||||
this.colorbox = new System.Windows.Forms.ComboBox();
|
||||
this.label10 = new System.Windows.Forms.Label();
|
||||
this.label9 = new System.Windows.Forms.Label();
|
||||
this.label11 = new System.Windows.Forms.Label();
|
||||
this.label12 = new System.Windows.Forms.Label();
|
||||
this.body8 = new System.Windows.Forms.TextBox();
|
||||
this.body9 = new System.Windows.Forms.TextBox();
|
||||
this.body10 = new System.Windows.Forms.TextBox();
|
||||
this.regionlab = new System.Windows.Forms.Label();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// load_wc3_but
|
||||
//
|
||||
this.load_wc3_but.Location = new System.Drawing.Point(49, 11);
|
||||
this.load_wc3_but.Name = "load_wc3_but";
|
||||
this.load_wc3_but.Size = new System.Drawing.Size(75, 23);
|
||||
this.load_wc3_but.TabIndex = 0;
|
||||
this.load_wc3_but.Text = "Load WN3";
|
||||
this.load_wc3_but.UseVisualStyleBackColor = true;
|
||||
this.load_wc3_but.Click += new System.EventHandler(this.Load_wc3_butClick);
|
||||
//
|
||||
// save_wc3_but
|
||||
//
|
||||
this.save_wc3_but.Enabled = false;
|
||||
this.save_wc3_but.Location = new System.Drawing.Point(130, 11);
|
||||
this.save_wc3_but.Name = "save_wc3_but";
|
||||
this.save_wc3_but.Size = new System.Drawing.Size(75, 23);
|
||||
this.save_wc3_but.TabIndex = 1;
|
||||
this.save_wc3_but.Text = "Save WN3";
|
||||
this.save_wc3_but.UseVisualStyleBackColor = true;
|
||||
this.save_wc3_but.Click += new System.EventHandler(this.Save_wc3_butClick);
|
||||
//
|
||||
// wc3_path
|
||||
//
|
||||
this.wc3_path.Location = new System.Drawing.Point(221, 13);
|
||||
this.wc3_path.Name = "wc3_path";
|
||||
this.wc3_path.ReadOnly = true;
|
||||
this.wc3_path.Size = new System.Drawing.Size(560, 20);
|
||||
this.wc3_path.TabIndex = 2;
|
||||
//
|
||||
// label1
|
||||
//
|
||||
this.label1.Location = new System.Drawing.Point(49, 102);
|
||||
this.label1.Name = "label1";
|
||||
this.label1.Size = new System.Drawing.Size(100, 23);
|
||||
this.label1.TabIndex = 3;
|
||||
this.label1.Text = "Header";
|
||||
//
|
||||
// label2
|
||||
//
|
||||
this.label2.Location = new System.Drawing.Point(49, 217);
|
||||
this.label2.Name = "label2";
|
||||
this.label2.Size = new System.Drawing.Size(100, 23);
|
||||
this.label2.TabIndex = 4;
|
||||
this.label2.Text = "Body 5";
|
||||
//
|
||||
// label3
|
||||
//
|
||||
this.label3.Location = new System.Drawing.Point(49, 125);
|
||||
this.label3.Name = "label3";
|
||||
this.label3.Size = new System.Drawing.Size(100, 23);
|
||||
this.label3.TabIndex = 5;
|
||||
this.label3.Text = "Body 1";
|
||||
//
|
||||
// label4
|
||||
//
|
||||
this.label4.Location = new System.Drawing.Point(49, 148);
|
||||
this.label4.Name = "label4";
|
||||
this.label4.Size = new System.Drawing.Size(100, 23);
|
||||
this.label4.TabIndex = 6;
|
||||
this.label4.Text = "Body 2";
|
||||
//
|
||||
// label5
|
||||
//
|
||||
this.label5.Location = new System.Drawing.Point(49, 171);
|
||||
this.label5.Name = "label5";
|
||||
this.label5.Size = new System.Drawing.Size(100, 23);
|
||||
this.label5.TabIndex = 7;
|
||||
this.label5.Text = "Body 3";
|
||||
//
|
||||
// label6
|
||||
//
|
||||
this.label6.Location = new System.Drawing.Point(49, 194);
|
||||
this.label6.Name = "label6";
|
||||
this.label6.Size = new System.Drawing.Size(100, 23);
|
||||
this.label6.TabIndex = 8;
|
||||
this.label6.Text = "Body 4";
|
||||
//
|
||||
// label7
|
||||
//
|
||||
this.label7.Location = new System.Drawing.Point(49, 240);
|
||||
this.label7.Name = "label7";
|
||||
this.label7.Size = new System.Drawing.Size(100, 23);
|
||||
this.label7.TabIndex = 9;
|
||||
this.label7.Text = "Body 6";
|
||||
//
|
||||
// label8
|
||||
//
|
||||
this.label8.Location = new System.Drawing.Point(49, 263);
|
||||
this.label8.Name = "label8";
|
||||
this.label8.Size = new System.Drawing.Size(100, 23);
|
||||
this.label8.TabIndex = 10;
|
||||
this.label8.Text = "Body 7";
|
||||
//
|
||||
// header1
|
||||
//
|
||||
this.header1.Location = new System.Drawing.Point(114, 99);
|
||||
this.header1.MaxLength = 40;
|
||||
this.header1.Name = "header1";
|
||||
this.header1.Size = new System.Drawing.Size(379, 20);
|
||||
this.header1.TabIndex = 11;
|
||||
this.header1.TextChanged += new System.EventHandler(this.Header1TextChanged);
|
||||
//
|
||||
// body5
|
||||
//
|
||||
this.body5.Location = new System.Drawing.Point(114, 214);
|
||||
this.body5.MaxLength = 40;
|
||||
this.body5.Name = "body5";
|
||||
this.body5.Size = new System.Drawing.Size(379, 20);
|
||||
this.body5.TabIndex = 16;
|
||||
this.body5.TextChanged += new System.EventHandler(this.Body5TextChanged);
|
||||
//
|
||||
// body1
|
||||
//
|
||||
this.body1.Location = new System.Drawing.Point(114, 122);
|
||||
this.body1.MaxLength = 40;
|
||||
this.body1.Name = "body1";
|
||||
this.body1.Size = new System.Drawing.Size(379, 20);
|
||||
this.body1.TabIndex = 12;
|
||||
this.body1.TextChanged += new System.EventHandler(this.Body1TextChanged);
|
||||
//
|
||||
// body2
|
||||
//
|
||||
this.body2.Location = new System.Drawing.Point(114, 145);
|
||||
this.body2.MaxLength = 40;
|
||||
this.body2.Name = "body2";
|
||||
this.body2.Size = new System.Drawing.Size(379, 20);
|
||||
this.body2.TabIndex = 13;
|
||||
this.body2.TextChanged += new System.EventHandler(this.Body2TextChanged);
|
||||
//
|
||||
// body3
|
||||
//
|
||||
this.body3.Location = new System.Drawing.Point(114, 168);
|
||||
this.body3.MaxLength = 40;
|
||||
this.body3.Name = "body3";
|
||||
this.body3.Size = new System.Drawing.Size(379, 20);
|
||||
this.body3.TabIndex = 14;
|
||||
this.body3.TextChanged += new System.EventHandler(this.Body3TextChanged);
|
||||
//
|
||||
// body4
|
||||
//
|
||||
this.body4.Location = new System.Drawing.Point(114, 191);
|
||||
this.body4.MaxLength = 40;
|
||||
this.body4.Name = "body4";
|
||||
this.body4.Size = new System.Drawing.Size(379, 20);
|
||||
this.body4.TabIndex = 15;
|
||||
this.body4.TextChanged += new System.EventHandler(this.Body4TextChanged);
|
||||
//
|
||||
// body6
|
||||
//
|
||||
this.body6.Location = new System.Drawing.Point(114, 237);
|
||||
this.body6.MaxLength = 40;
|
||||
this.body6.Name = "body6";
|
||||
this.body6.Size = new System.Drawing.Size(379, 20);
|
||||
this.body6.TabIndex = 17;
|
||||
this.body6.TextChanged += new System.EventHandler(this.Body6TextChanged);
|
||||
//
|
||||
// body7
|
||||
//
|
||||
this.body7.Location = new System.Drawing.Point(114, 260);
|
||||
this.body7.MaxLength = 40;
|
||||
this.body7.Name = "body7";
|
||||
this.body7.Size = new System.Drawing.Size(379, 20);
|
||||
this.body7.TabIndex = 18;
|
||||
this.body7.TextChanged += new System.EventHandler(this.Body7TextChanged);
|
||||
//
|
||||
// distrocheck
|
||||
//
|
||||
this.distrocheck.Location = new System.Drawing.Point(364, 69);
|
||||
this.distrocheck.Name = "distrocheck";
|
||||
this.distrocheck.Size = new System.Drawing.Size(85, 24);
|
||||
this.distrocheck.TabIndex = 22;
|
||||
this.distrocheck.Text = "Distributable";
|
||||
this.distrocheck.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// colorbox
|
||||
//
|
||||
this.colorbox.FormattingEnabled = true;
|
||||
this.colorbox.Items.AddRange(new object[] {
|
||||
"Yellow (0x00)",
|
||||
"Crystal (0x01)",
|
||||
"Red (0x02)",
|
||||
"Green (0x03)",
|
||||
"Blue (0x04)",
|
||||
"Brown (0x05)",
|
||||
"Gold (0x06)",
|
||||
"Silver (0x07)"});
|
||||
this.colorbox.Location = new System.Drawing.Point(115, 58);
|
||||
this.colorbox.Name = "colorbox";
|
||||
this.colorbox.Size = new System.Drawing.Size(243, 21);
|
||||
this.colorbox.TabIndex = 25;
|
||||
this.colorbox.SelectedIndexChanged += new System.EventHandler(this.ColorboxSelectedIndexChanged);
|
||||
//
|
||||
// label10
|
||||
//
|
||||
this.label10.Location = new System.Drawing.Point(46, 60);
|
||||
this.label10.Name = "label10";
|
||||
this.label10.Size = new System.Drawing.Size(63, 19);
|
||||
this.label10.TabIndex = 26;
|
||||
this.label10.Text = "Color";
|
||||
//
|
||||
// label9
|
||||
//
|
||||
this.label9.Location = new System.Drawing.Point(49, 286);
|
||||
this.label9.Name = "label9";
|
||||
this.label9.Size = new System.Drawing.Size(100, 23);
|
||||
this.label9.TabIndex = 27;
|
||||
this.label9.Text = "Body 8";
|
||||
//
|
||||
// label11
|
||||
//
|
||||
this.label11.Location = new System.Drawing.Point(49, 309);
|
||||
this.label11.Name = "label11";
|
||||
this.label11.Size = new System.Drawing.Size(100, 23);
|
||||
this.label11.TabIndex = 28;
|
||||
this.label11.Text = "Body 9";
|
||||
//
|
||||
// label12
|
||||
//
|
||||
this.label12.Location = new System.Drawing.Point(49, 332);
|
||||
this.label12.Name = "label12";
|
||||
this.label12.Size = new System.Drawing.Size(100, 23);
|
||||
this.label12.TabIndex = 29;
|
||||
this.label12.Text = "Body 10";
|
||||
//
|
||||
// body8
|
||||
//
|
||||
this.body8.Location = new System.Drawing.Point(114, 283);
|
||||
this.body8.MaxLength = 40;
|
||||
this.body8.Name = "body8";
|
||||
this.body8.Size = new System.Drawing.Size(379, 20);
|
||||
this.body8.TabIndex = 19;
|
||||
this.body8.TextChanged += new System.EventHandler(this.Body8TextChanged);
|
||||
//
|
||||
// body9
|
||||
//
|
||||
this.body9.Location = new System.Drawing.Point(114, 306);
|
||||
this.body9.MaxLength = 40;
|
||||
this.body9.Name = "body9";
|
||||
this.body9.Size = new System.Drawing.Size(379, 20);
|
||||
this.body9.TabIndex = 20;
|
||||
this.body9.TextChanged += new System.EventHandler(this.Body9TextChanged);
|
||||
//
|
||||
// body10
|
||||
//
|
||||
this.body10.Location = new System.Drawing.Point(114, 329);
|
||||
this.body10.MaxLength = 40;
|
||||
this.body10.Name = "body10";
|
||||
this.body10.Size = new System.Drawing.Size(379, 20);
|
||||
this.body10.TabIndex = 21;
|
||||
this.body10.TextChanged += new System.EventHandler(this.Body10TextChanged);
|
||||
//
|
||||
// regionlab
|
||||
//
|
||||
this.regionlab.Location = new System.Drawing.Point(364, 50);
|
||||
this.regionlab.Name = "regionlab";
|
||||
this.regionlab.Size = new System.Drawing.Size(100, 16);
|
||||
this.regionlab.TabIndex = 30;
|
||||
this.regionlab.Text = "USA/EUR";
|
||||
//
|
||||
// WCN_editor
|
||||
//
|
||||
this.AllowDrop = true;
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.ClientSize = new System.Drawing.Size(820, 373);
|
||||
this.Controls.Add(this.regionlab);
|
||||
this.Controls.Add(this.body10);
|
||||
this.Controls.Add(this.body9);
|
||||
this.Controls.Add(this.body8);
|
||||
this.Controls.Add(this.label12);
|
||||
this.Controls.Add(this.label11);
|
||||
this.Controls.Add(this.label9);
|
||||
this.Controls.Add(this.label10);
|
||||
this.Controls.Add(this.colorbox);
|
||||
this.Controls.Add(this.distrocheck);
|
||||
this.Controls.Add(this.body7);
|
||||
this.Controls.Add(this.body6);
|
||||
this.Controls.Add(this.body4);
|
||||
this.Controls.Add(this.body3);
|
||||
this.Controls.Add(this.body2);
|
||||
this.Controls.Add(this.body1);
|
||||
this.Controls.Add(this.body5);
|
||||
this.Controls.Add(this.header1);
|
||||
this.Controls.Add(this.label8);
|
||||
this.Controls.Add(this.label7);
|
||||
this.Controls.Add(this.label6);
|
||||
this.Controls.Add(this.label5);
|
||||
this.Controls.Add(this.label4);
|
||||
this.Controls.Add(this.label3);
|
||||
this.Controls.Add(this.label2);
|
||||
this.Controls.Add(this.label1);
|
||||
this.Controls.Add(this.wc3_path);
|
||||
this.Controls.Add(this.save_wc3_but);
|
||||
this.Controls.Add(this.load_wc3_but);
|
||||
this.Name = "WCN_editor";
|
||||
this.Text = "WN3 Editor";
|
||||
this.Load += new System.EventHandler(this.WCN_editorLoad);
|
||||
this.DragDrop += new System.Windows.Forms.DragEventHandler(this.WCN_editorDragDrop);
|
||||
this.DragEnter += new System.Windows.Forms.DragEventHandler(this.WCN_editorDragEnter);
|
||||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
247
wc3_tool/WC3/WCN_editor.cs
Normal file
247
wc3_tool/WC3/WCN_editor.cs
Normal file
|
|
@ -0,0 +1,247 @@
|
|||
/*
|
||||
* Created by SharpDevelop.
|
||||
* User: suloku
|
||||
* Date: 28/04/2016
|
||||
* Time: 21:22
|
||||
*
|
||||
* To change this template use Tools | Options | Coding | Edit Standard Headers.
|
||||
*/
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Data;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Windows.Forms;
|
||||
using System.IO;
|
||||
|
||||
using System.Reflection;
|
||||
using System.Resources;
|
||||
|
||||
namespace WC3_TOOL
|
||||
{
|
||||
/// <summary>
|
||||
/// Description of MainForm.
|
||||
/// </summary>
|
||||
public partial class WCN_editor : Form
|
||||
{
|
||||
public WCN_editor()
|
||||
{
|
||||
//
|
||||
// The InitializeComponent() call is required for Windows Forms designer support.
|
||||
//
|
||||
InitializeComponent();
|
||||
regionlab.Text = "";
|
||||
GFX = this.CreateGraphics();
|
||||
colorbox.SelectedIndex = 0;
|
||||
|
||||
//
|
||||
// TODO: Add constructor code after the InitializeComponent() call.
|
||||
//
|
||||
}
|
||||
public string wcnfilter = "Wonder News file|*.wn3|All Files (*.*)|*.*";
|
||||
public byte[] wcnbuffer = new byte[SAV3.WCN_SIZE];
|
||||
public static wc3 wcnfile;
|
||||
|
||||
public bool japanese = false;
|
||||
|
||||
private Graphics GFX;
|
||||
|
||||
void update_wcdata()
|
||||
{
|
||||
switch (wcnfile.distributable)
|
||||
{
|
||||
case 0:
|
||||
distrocheck.Checked = false;
|
||||
break;
|
||||
case 1:
|
||||
distrocheck.Checked = true;
|
||||
break;
|
||||
default:
|
||||
distrocheck.Checked = false;
|
||||
break;
|
||||
}
|
||||
|
||||
colorbox.SelectedIndex = wcnfile.cardcolor;
|
||||
|
||||
header1.Text = wcnfile.get_wn_text_2(0);
|
||||
body1.Text = wcnfile.get_wn_text_2(1);
|
||||
body2.Text = wcnfile.get_wn_text_2(2);
|
||||
body3.Text = wcnfile.get_wn_text_2(3);
|
||||
body4.Text = wcnfile.get_wn_text_2(4);
|
||||
body5.Text = wcnfile.get_wn_text_2(5);
|
||||
body6.Text = wcnfile.get_wn_text_2(6);
|
||||
body7.Text = wcnfile.get_wn_text_2(7);
|
||||
body8.Text = wcnfile.get_wn_text_2(8);
|
||||
body9.Text = wcnfile.get_wn_text_2(9);
|
||||
body10.Text = wcnfile.get_wn_text_2(10);
|
||||
}
|
||||
void set_wcndata()
|
||||
{
|
||||
wcnfile.clear_wn_text();
|
||||
wcnfile.insert_wn_text_2(header1.Text, 0);
|
||||
wcnfile.insert_wn_text_2(body1.Text, 1);
|
||||
wcnfile.insert_wn_text_2(body2.Text, 2);
|
||||
wcnfile.insert_wn_text_2(body3.Text, 3);
|
||||
wcnfile.insert_wn_text_2(body4.Text, 4);
|
||||
wcnfile.insert_wn_text_2(body5.Text, 5);
|
||||
wcnfile.insert_wn_text_2(body6.Text, 6);
|
||||
wcnfile.insert_wn_text_2(body7.Text, 7);
|
||||
wcnfile.insert_wn_text_2(body8.Text, 8);
|
||||
wcnfile.insert_wn_text_2(body9.Text, 9);
|
||||
wcnfile.insert_wn_text_2(body10.Text,10);
|
||||
}
|
||||
|
||||
void Load_WCN(string path)
|
||||
{
|
||||
int filesize = FileIO.load_file(ref wcnbuffer, ref path, wcnfilter);
|
||||
if( filesize == SAV3.WCN_SIZE || filesize == SAV3.WCN_SIZE_jap)
|
||||
{
|
||||
if (filesize == SAV3.WCN_SIZE_jap)
|
||||
{
|
||||
japanese = true;
|
||||
regionlab.Text = "JAP";
|
||||
header1.MaxLength = 20;
|
||||
body1.MaxLength = 20;
|
||||
body2.MaxLength = 20;
|
||||
body3.MaxLength = 20;
|
||||
body4.MaxLength = 20;
|
||||
body5.MaxLength = 20;
|
||||
body6.MaxLength = 20;
|
||||
body7.MaxLength = 20;
|
||||
body8.MaxLength = 20;
|
||||
body9.MaxLength = 20;
|
||||
body10.MaxLength = 20;
|
||||
}else
|
||||
{
|
||||
japanese = false;
|
||||
regionlab.Text = "USA/EUR";
|
||||
header1.MaxLength = 40;
|
||||
body1.MaxLength = 40;
|
||||
body2.MaxLength = 40;
|
||||
body3.MaxLength = 40;
|
||||
body4.MaxLength = 40;
|
||||
body5.MaxLength = 40;
|
||||
body6.MaxLength = 40;
|
||||
body7.MaxLength = 40;
|
||||
body8.MaxLength = 40;
|
||||
body9.MaxLength = 40;
|
||||
body10.MaxLength = 40;
|
||||
}
|
||||
|
||||
wc3_path.Text = path;
|
||||
wcnfile = new wc3(wcnbuffer);
|
||||
|
||||
update_wcdata();
|
||||
|
||||
save_wc3_but.Enabled = true;
|
||||
|
||||
}else{
|
||||
MessageBox.Show("Invalid file size.");
|
||||
}
|
||||
}
|
||||
void Load_wc3_butClick(object sender, EventArgs e)
|
||||
{
|
||||
Load_WCN(null);
|
||||
}
|
||||
void Save_wc3_butClick(object sender, EventArgs e)
|
||||
{
|
||||
int distro = 0;
|
||||
if(distrocheck.Checked)
|
||||
distro = 1;
|
||||
wcnfile.set_wcn_color_distro(colorbox.SelectedIndex , distro);
|
||||
set_wcndata();
|
||||
wcnfile.fix_wcn_checksum();
|
||||
//if (wcnfile.Edited)
|
||||
FileIO.save_data(wcnfile.Data, wcnfilter);
|
||||
//else MessageBox.Show("Save has not been edited");
|
||||
}
|
||||
|
||||
void WCN_editorLoad(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
}
|
||||
ResourceManager resources = new ResourceManager("WC3_TOOL.WC3.Image.Cards", Assembly.GetExecutingAssembly());
|
||||
Image bitmap;
|
||||
void drawCard()
|
||||
{
|
||||
//ResourceManager resources = new ResourceManager("WC3_TOOL.WC3.Image.Cards", Assembly.GetExecutingAssembly());
|
||||
bitmap = (Image)resources.GetObject("News_"+colorbox.SelectedIndex.ToString());
|
||||
GFX.DrawImage(bitmap, 500, 140+26, 260, 140);
|
||||
GFX.DrawImage(bitmap, 500, 140, 260, 140);
|
||||
|
||||
|
||||
GFX.DrawString(header1.Text, new Font("Calibri", 8), Brushes.Black, 500+7, 140+4);
|
||||
GFX.DrawString(body1.Text, new Font("Calibri", 8), Brushes.Black, 500+7, 140+21);
|
||||
GFX.DrawString(body2.Text, new Font("Calibri", 8), Brushes.Black, 500+7, 140+21+(14*1));
|
||||
GFX.DrawString(body3.Text, new Font("Calibri", 8), Brushes.Black, 500+7, 140+21+(14*2));
|
||||
GFX.DrawString(body4.Text, new Font("Calibri", 8), Brushes.Black, 500+7, 140+21+(14*3));
|
||||
GFX.DrawString(body5.Text, new Font("Calibri", 8), Brushes.Black, 500+7, 140+21+(14*4));
|
||||
GFX.DrawString(body6.Text, new Font("Calibri", 8), Brushes.Black, 500+7, 140+21+(14*5));
|
||||
GFX.DrawString(body7.Text, new Font("Calibri", 8), Brushes.Black, 500+7, 140+21+(14*6));
|
||||
GFX.DrawString(body8.Text, new Font("Calibri", 8), Brushes.Black, 500+7, 140+21+(14*7));
|
||||
GFX.DrawString(body9.Text, new Font("Calibri", 8), Brushes.Black, 500+7, 140+21+(14*8));
|
||||
GFX.DrawString(body10.Text, new Font("Calibri", 8), Brushes.Black, 500+7, 140+21+(14*9));
|
||||
|
||||
}
|
||||
void ColorboxSelectedIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
drawCard();
|
||||
}
|
||||
void Header1TextChanged(object sender, EventArgs e)
|
||||
{
|
||||
drawCard();
|
||||
}
|
||||
void Body1TextChanged(object sender, EventArgs e)
|
||||
{
|
||||
drawCard();
|
||||
}
|
||||
void Body2TextChanged(object sender, EventArgs e)
|
||||
{
|
||||
drawCard();
|
||||
}
|
||||
void Body3TextChanged(object sender, EventArgs e)
|
||||
{
|
||||
drawCard();
|
||||
}
|
||||
void Body4TextChanged(object sender, EventArgs e)
|
||||
{
|
||||
drawCard();
|
||||
}
|
||||
void Body5TextChanged(object sender, EventArgs e)
|
||||
{
|
||||
drawCard();
|
||||
}
|
||||
void Body6TextChanged(object sender, EventArgs e)
|
||||
{
|
||||
drawCard();
|
||||
}
|
||||
void Body7TextChanged(object sender, EventArgs e)
|
||||
{
|
||||
drawCard();
|
||||
}
|
||||
void Body8TextChanged(object sender, EventArgs e)
|
||||
{
|
||||
drawCard();
|
||||
}
|
||||
void Body9TextChanged(object sender, EventArgs e)
|
||||
{
|
||||
drawCard();
|
||||
}
|
||||
void Body10TextChanged(object sender, EventArgs e)
|
||||
{
|
||||
drawCard();
|
||||
}
|
||||
|
||||
void WCN_editorDragEnter(object sender, DragEventArgs e)
|
||||
{
|
||||
e.Effect = DragDropEffects.All;
|
||||
}
|
||||
void WCN_editorDragDrop(object sender, DragEventArgs e)
|
||||
{
|
||||
string[] files = (string[])e.Data.GetData(DataFormats.FileDrop, false);
|
||||
Load_WCN(files[0]);
|
||||
}
|
||||
}
|
||||
}
|
||||
120
wc3_tool/WC3/WCN_editor.resx
Normal file
120
wc3_tool/WC3/WCN_editor.resx
Normal file
|
|
@ -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>
|
||||
564
wc3_tool/WC3/wc3.cs
Normal file
564
wc3_tool/WC3/wc3.cs
Normal file
|
|
@ -0,0 +1,564 @@
|
|||
/*
|
||||
* Created by SharpDevelop.
|
||||
* User: suloku
|
||||
* Date: 28/04/2016
|
||||
* Time: 21:32
|
||||
*
|
||||
* To change this template use Tools | Options | Coding | Edit Standard Headers.
|
||||
*/
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Data;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Windows.Forms;
|
||||
using System.IO;
|
||||
|
||||
using PKHeX;
|
||||
|
||||
namespace WC3_TOOL
|
||||
{
|
||||
/// <summary>
|
||||
/// Description of wc3.
|
||||
/// </summary>
|
||||
public class wc3
|
||||
{
|
||||
|
||||
private static UInt16[] lookup_table = new UInt16[256];
|
||||
|
||||
private static void init_table()
|
||||
{
|
||||
//Sorry, this is not public for now.
|
||||
}
|
||||
|
||||
private static UInt16 swap(UInt16 value)
|
||||
{
|
||||
int b1 = value & 0xFF;
|
||||
int b2 = value >> 8 & 0xFF;
|
||||
return (UInt16)(b1 << 8 | b2 << 0);
|
||||
}
|
||||
|
||||
public static UInt16 wc_checksum(byte[] buffer, int fSize, int offset)
|
||||
{
|
||||
init_table();
|
||||
UInt16 iSeed = 0;//Also not public...sorry again
|
||||
UInt16 tabNum;
|
||||
UInt16 tabVal;
|
||||
int curByte = 0;
|
||||
for (curByte=0; curByte<fSize; curByte++)
|
||||
{
|
||||
tabNum = (UInt16)((iSeed ^ buffer[curByte+offset]) & 0xFF);
|
||||
//MessageBox.Show(tabNum.ToString());
|
||||
tabVal = lookup_table[tabNum];
|
||||
//MessageBox.Show(tabVal.ToString());
|
||||
tabVal = (UInt16)(swap(tabVal) & 0xFFFF);
|
||||
iSeed = (UInt16)((tabVal ^ (iSeed >> 8)) & 0xFFFF);
|
||||
}
|
||||
iSeed = (UInt16)((iSeed ^ 0xFFFF) & 0xFFFF);
|
||||
|
||||
return iSeed;
|
||||
}
|
||||
|
||||
char[] SYMBOL = {
|
||||
' ', 'À', 'Á', 'Â', 'Ç', 'È', 'É', 'Ê', 'Ë', 'Ì', 'こ', 'Î', 'Ï', 'Ò', 'Ó', 'Ô',
|
||||
'Œ', 'Ù', 'Ú', 'Û', 'Ñ', 'ß', 'à', 'á', 'ね', 'ç', 'è', 'é', 'ê', 'ë', 'ì', 'ま',
|
||||
'î', 'ï', 'ò', 'ó', 'ô', 'œ', 'ù', 'ú', 'û', 'ñ', 'º', 'ª', ' ', '&', '+', 'あ',
|
||||
'ぃ', 'ぅ', 'ぇ', 'ぉ', ' ', '=', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ',
|
||||
' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ',
|
||||
' ', '¿', '¡', ' ', ' ', ' ', ' ', ' ', ' ', '<', 'Í', '%', '(', ')', ' ', ' ',
|
||||
' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', 'â', ' ', ' ', ' ', ' ', ' ', ' ', 'í',
|
||||
' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ',
|
||||
' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ',
|
||||
'ゾ', 'ダ', 'ヂ','ヅ', 'デ', 'ド', 'バ', 'ビ', 'ブ', 'ベ', 'ボ', 'パ', 'ピ', 'プ', 'ペ', 'ポ',
|
||||
'ッ', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '!', '?', '.', '-', '·',
|
||||
'…', '“', '”', '‘', '\'', '♂', '♀', '§', ',', '×', '/', 'A', 'B', 'C', 'D', 'E',
|
||||
'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U',
|
||||
'V', 'W', 'X', 'Y', 'Z', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k',
|
||||
'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', '>',
|
||||
':', 'Ä', 'Ö', 'Ü', 'ä', 'ö', 'ü', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', '#'
|
||||
};
|
||||
|
||||
public const int SIZE_WC3 = 0x4 + 0x14C + 0x28 + 0x28 + 0x3E8 + 4;
|
||||
public const int SIZE_WC3_jap = 0x4 + 0xA4 + 0x28 + 0x28 + 0x3E8 + 4;
|
||||
public const int ICON_WC3 = 0x4 + 0x14C + 10;
|
||||
public const int ICON_WC3_jap = 0x4 + 0xA4 + 10;
|
||||
|
||||
public const int SIZE_WN3 = 4+4+440; //Checksum + header + Data (40bytes*11 lines)
|
||||
public const int SIZE_WN3_jap = 4+4+220; //Checksum + header + Data (20bytes*11 lines)
|
||||
|
||||
public const int WC_TEXT_START = 14;
|
||||
public const int WCN_TEXT_START = 8;
|
||||
|
||||
public byte cardcolor;
|
||||
public int distributable;
|
||||
|
||||
private int text_start = 0;
|
||||
private int wc3_size = 0;
|
||||
private int wn_size = 0;
|
||||
public bool japanese = false;
|
||||
|
||||
// Global Settings
|
||||
// Save Data Attributes
|
||||
public byte[] Data;
|
||||
public bool Edited;
|
||||
public readonly bool Exportable;
|
||||
public readonly byte[] BAK;
|
||||
public string FileName, FilePath;
|
||||
public wc3(byte[] data)
|
||||
{
|
||||
|
||||
if(data.Length == SIZE_WN3 || data.Length == SIZE_WN3_jap) //WN3
|
||||
{
|
||||
Data = (byte[])(data ?? new byte[data.Length]).Clone();
|
||||
BAK = (byte[])Data.Clone();
|
||||
Exportable = !Data.SequenceEqual(new byte[Data.Length]);
|
||||
|
||||
if ( Data[0x06] == 0x1)
|
||||
distributable = 1;
|
||||
else
|
||||
distributable = 0;
|
||||
|
||||
cardcolor = Data[0x07];
|
||||
|
||||
text_start = WCN_TEXT_START;
|
||||
|
||||
if(data.Length == SIZE_WN3_jap)
|
||||
japanese = true;
|
||||
|
||||
if (japanese == true)
|
||||
wn_size = SIZE_WN3_jap;
|
||||
else
|
||||
wn_size = SIZE_WN3;
|
||||
}
|
||||
else //WC3
|
||||
{
|
||||
|
||||
Data = (byte[])(data ?? new byte[data.Length]).Clone();
|
||||
BAK = (byte[])Data.Clone();
|
||||
Exportable = !Data.SequenceEqual(new byte[Data.Length]);
|
||||
|
||||
if(data.Length == SIZE_WC3_jap)
|
||||
japanese = true;
|
||||
|
||||
if (japanese == true)
|
||||
wc3_size = SIZE_WC3_jap;
|
||||
else
|
||||
wc3_size = SIZE_WC3;
|
||||
|
||||
if ( (Data[0xC] & 0x80) == 0x80)
|
||||
distributable = 1;
|
||||
else if ( (Data[0xC] & 0x40) == 0x40)
|
||||
distributable = 2;
|
||||
else
|
||||
distributable = 0;
|
||||
|
||||
cardcolor = (byte)(Data[0xC] & ~0x80);
|
||||
text_start = WC_TEXT_START;
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
/* public wc3(byte[] data, int wcn)
|
||||
{
|
||||
Data = (byte[])(data ?? new byte[SAV3.WCN_SIZE]).Clone();
|
||||
BAK = (byte[])Data.Clone();
|
||||
Exportable = !Data.SequenceEqual(new byte[Data.Length]);
|
||||
|
||||
if ( Data[0x06] == 0x1)
|
||||
distributable = 1;
|
||||
else
|
||||
distributable = 0;
|
||||
|
||||
cardcolor = Data[0x07];
|
||||
|
||||
text_start = WCN_TEXT_START;
|
||||
if (japanese == true)
|
||||
wn_size = WCN
|
||||
|
||||
return;
|
||||
}
|
||||
*/
|
||||
public byte[] getData(int Offset, int Length)
|
||||
{
|
||||
return Data.Skip(Offset).Take(Length).ToArray();
|
||||
}
|
||||
public void setData(byte[] input, int Offset)
|
||||
{
|
||||
input.CopyTo(Data, Offset);
|
||||
Edited = true;
|
||||
}
|
||||
public string gba2text(byte[] input)
|
||||
{
|
||||
string texto;
|
||||
texto = "";
|
||||
foreach (byte value in input)
|
||||
{
|
||||
string newtext = texto + SYMBOL[value].ToString();
|
||||
texto = newtext;
|
||||
}
|
||||
return texto;
|
||||
}
|
||||
public byte[] text2gba(string input)
|
||||
{
|
||||
byte[] gbatext = new byte[40];
|
||||
byte i = 0;
|
||||
int count = 0;
|
||||
foreach (char value in input)
|
||||
{
|
||||
for(i=0;i<0xFF;i++)
|
||||
{
|
||||
if (value == SYMBOL[i])
|
||||
{
|
||||
if (i==0)
|
||||
{
|
||||
gbatext[count] = 0;
|
||||
break;
|
||||
}
|
||||
else
|
||||
{
|
||||
gbatext[count] = i;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
//MessageBox.Show(gbatext[count].ToString("X"));
|
||||
count++;
|
||||
}
|
||||
return gbatext;
|
||||
}
|
||||
|
||||
public UInt16 get_wc_icon()
|
||||
{
|
||||
if(japanese == true)
|
||||
return BitConverter.ToUInt16(getData(ICON_WC3_jap, 2), 0);
|
||||
else
|
||||
return BitConverter.ToUInt16(getData(ICON_WC3, 2), 0);
|
||||
}
|
||||
public int get_wc_color()
|
||||
{
|
||||
int colorgui;
|
||||
byte test = (byte)(cardcolor&0x1F);
|
||||
switch (test)
|
||||
{
|
||||
case 0x0:
|
||||
case 0x1:
|
||||
case 0x2:
|
||||
case 0x3:
|
||||
colorgui = 0;
|
||||
break;
|
||||
case 0x4:
|
||||
case 0x5:
|
||||
case 0x6:
|
||||
case 0x7:
|
||||
colorgui = 1;
|
||||
break;
|
||||
case 0x8:
|
||||
case 0x9:
|
||||
case 0xA:
|
||||
case 0xB:
|
||||
colorgui = 2;
|
||||
break;
|
||||
case 0xC:
|
||||
case 0xD:
|
||||
case 0xE:
|
||||
case 0xF:
|
||||
colorgui = 3;
|
||||
break;
|
||||
case 0x10:
|
||||
case 0x11:
|
||||
case 0x12:
|
||||
case 0x13:
|
||||
colorgui = 4;
|
||||
break;
|
||||
case 0x14:
|
||||
case 0x15:
|
||||
case 0x16:
|
||||
case 0x17:
|
||||
colorgui = 5;
|
||||
break;
|
||||
case 0x18:
|
||||
case 0x19:
|
||||
case 0x1A:
|
||||
case 0x1B:
|
||||
colorgui = 6;
|
||||
break;
|
||||
case 0x1C:
|
||||
case 0x1D:
|
||||
case 0x1E:
|
||||
case 0x1F:
|
||||
colorgui = 7;
|
||||
break;
|
||||
default:
|
||||
colorgui = 0;
|
||||
break;
|
||||
}
|
||||
|
||||
return colorgui;
|
||||
}
|
||||
public void set_wc_icon(int newicon)
|
||||
{
|
||||
if (japanese == true)
|
||||
{
|
||||
setData(BitConverter.GetBytes((UInt16)newicon), ICON_WC3_jap);
|
||||
}
|
||||
else
|
||||
{
|
||||
setData(BitConverter.GetBytes((UInt16)newicon), ICON_WC3);
|
||||
}
|
||||
|
||||
}
|
||||
public void set_wcn_color_distro(int color, int distro)
|
||||
{
|
||||
if (distro == 1)
|
||||
Data[0x06] = 0x01;
|
||||
if (distro == 2)
|
||||
Data[0x06] = 0x02;//Does not allow distribution either. More testing needed.
|
||||
else
|
||||
Data[0x06] = 0x00;
|
||||
|
||||
Data[0x07] = (byte)(color&0xFF);
|
||||
}
|
||||
public void set_wc_color_distro(int color, int distro)
|
||||
{
|
||||
byte output = 0;
|
||||
switch (color)
|
||||
{
|
||||
case 0x0:
|
||||
output = 0x00;
|
||||
break;
|
||||
case 0x1:
|
||||
output = 0x04;
|
||||
break;
|
||||
case 0x2:
|
||||
output = 0x08;
|
||||
break;
|
||||
case 0x3:
|
||||
output = 0x0C;
|
||||
break;
|
||||
case 0x4:
|
||||
output = 0x10;
|
||||
break;
|
||||
case 0x5:
|
||||
output = 0x14;
|
||||
break;
|
||||
case 0x6:
|
||||
output = 0x18;
|
||||
break;
|
||||
case 0x7:
|
||||
output = 0x1C;
|
||||
break;
|
||||
default:
|
||||
output = 0x00;
|
||||
break;
|
||||
}
|
||||
|
||||
if (distro == 1)
|
||||
output = (byte)(output + 0x80);
|
||||
else if (distro == 2)
|
||||
output = (byte)(output + 0x40);
|
||||
|
||||
Data[0xC] = output;
|
||||
}
|
||||
public string get_wc_text(int index)
|
||||
{
|
||||
return gba2text(Data.Skip(text_start+(index * 0x28)).Take(0x28).ToArray());
|
||||
}
|
||||
public string get_wc_text_2(int index)
|
||||
{
|
||||
int size = 0x28;
|
||||
int[] offset = {0,40,80,120,160,200,240,280};
|
||||
if (japanese == true)
|
||||
{
|
||||
offset[0]=0;offset[1]=18;offset[2]=18+13;offset[3]=18+13+20;
|
||||
offset[4]=18+13+40;offset[5]=18+13+60;offset[6]=18+13+80;offset[7]=18+13+100;
|
||||
switch(index)
|
||||
{
|
||||
case 0:
|
||||
size = 18;
|
||||
break;
|
||||
case 1:
|
||||
size = 13;
|
||||
break;
|
||||
default:
|
||||
size = 20;
|
||||
break;
|
||||
}
|
||||
}
|
||||
return PKHeX.PKM.getG3Str(Data.Skip(text_start+(offset[index])).Take(size).ToArray(), japanese);
|
||||
}
|
||||
public void insert_wc_text(string text, int index)
|
||||
{
|
||||
setData(text2gba(text), text_start+(index * 0x28));
|
||||
}
|
||||
public void insert_wc_text_2(string text, int index)
|
||||
{
|
||||
int[] offset = {0,40,80,120,160,200,240,280};
|
||||
if (japanese == true)
|
||||
{
|
||||
offset[0]=0;offset[1]=18;offset[2]=18+13;offset[3]=18+13+20;
|
||||
offset[4]=18+13+40;offset[5]=18+13+60;offset[6]=18+13+80;offset[7]=18+13+100;
|
||||
}
|
||||
setData(PKHeX.PKM.setG3Str_WONDER(text, japanese), text_start+offset[index]);
|
||||
}
|
||||
public void clear_wc_text()
|
||||
{
|
||||
int i;
|
||||
if (japanese == true)
|
||||
{
|
||||
for(i=0;i<(18+13+(20*6));i++)
|
||||
Data[text_start+i]=0x00;
|
||||
}else
|
||||
{
|
||||
for(i=0;i<(40*8);i++)
|
||||
Data[text_start+i]=0x00;
|
||||
}
|
||||
}
|
||||
public void clear_wn_text()
|
||||
{
|
||||
int i;
|
||||
if (japanese == true)
|
||||
{
|
||||
for(i=0;i<(20*11);i++)
|
||||
Data[text_start+i]=0x00;
|
||||
}else
|
||||
{
|
||||
for(i=0;i<(40*11);i++)
|
||||
Data[text_start+i]=0x00;
|
||||
}
|
||||
}
|
||||
public string get_wn_text_2(int index)
|
||||
{
|
||||
int size = 0x28;
|
||||
int[] offset = {0,40,80,120,160,200,240,280,320,360,400};
|
||||
if (japanese == true)
|
||||
{
|
||||
size = 0x14;
|
||||
int i;
|
||||
for (i=0;i<11;i++){
|
||||
offset[i]=(0x14*i);
|
||||
}
|
||||
}
|
||||
return PKHeX.PKM.getG3Str(Data.Skip(text_start+(offset[index])).Take(size).ToArray(), japanese);
|
||||
}
|
||||
public void insert_wn_text_2(string text, int index)
|
||||
{
|
||||
int[] offset = {0,40,80,120,160,200,240,280,320,360,400};
|
||||
if (japanese == true)
|
||||
{
|
||||
int i;
|
||||
for (i=0;i<11;i++){
|
||||
offset[i]=(0x14*i);
|
||||
}
|
||||
}
|
||||
setData(PKHeX.PKM.setG3Str_WONDER(text, japanese), text_start+offset[index]);
|
||||
}
|
||||
public void fakeWC()
|
||||
{
|
||||
UInt32 fakemagic = 0xB9BEB4BA;
|
||||
setData(BitConverter.GetBytes(fakemagic), 4);
|
||||
}
|
||||
public void fakeSCript()
|
||||
{
|
||||
//This value is actually to whom the script is associated, changing it removes it from green deliveryman
|
||||
//UInt32 fakemagic = 0x01000333;
|
||||
UInt32 fakemagic = 0xFFFFFF33;//Value in the wondercard routine, triggers green man.
|
||||
setData(BitConverter.GetBytes(fakemagic), wc3_size-1000);
|
||||
}
|
||||
public void clean_trash()
|
||||
{
|
||||
int i = 0;
|
||||
for (i=0; i<996; i++)
|
||||
{
|
||||
if(Data[wc3_size-i-1] == 0xFF)
|
||||
break;
|
||||
else
|
||||
Data[wc3_size-i-1] = 0;
|
||||
}
|
||||
}
|
||||
public void fix_wcn_checksum()
|
||||
{
|
||||
UInt16 chk = wc_checksum(getData(4, wn_size-4), wn_size-4, 0);
|
||||
setData(BitConverter.GetBytes(chk), 0);
|
||||
}
|
||||
public void fix_wc_checksum()
|
||||
{
|
||||
UInt16 chk;
|
||||
if(japanese == true)
|
||||
{
|
||||
chk = wc_checksum(getData(4, 0xA4), 0xA4, 0);
|
||||
}
|
||||
else
|
||||
{
|
||||
chk = wc_checksum(getData(4, 0x14C), 0x14C, 0);
|
||||
}
|
||||
|
||||
setData(BitConverter.GetBytes(chk), 0);
|
||||
}
|
||||
public void fix_script_checksum()
|
||||
{
|
||||
UInt16 chk = wc_checksum(getData(wc3_size-1000, 1000), 1000, 0);
|
||||
setData(BitConverter.GetBytes(chk), wc3_size-1004);
|
||||
}
|
||||
public byte[] get_script()
|
||||
{
|
||||
int scriptsize=0;
|
||||
//int i = 0;
|
||||
//Not how to detect the end of the script...
|
||||
/*for (i=0; i<996; i++)
|
||||
{
|
||||
if(Data[wc3_size-i-1] == 0xFF)
|
||||
break;
|
||||
else
|
||||
scriptsize++;
|
||||
}*/
|
||||
return getData(wc3_size-996, 996-scriptsize);
|
||||
}
|
||||
public byte[] get_script_XSE()
|
||||
{
|
||||
//Get base address
|
||||
UInt32 address = BitConverter.ToUInt32(getData(wc3_size-996+1, 4), 0);
|
||||
address = address - (address&0xFF000000);
|
||||
//Build file
|
||||
byte[] xse_export = new byte[address+996];
|
||||
//Set address to the first 4 bytes
|
||||
if (address > 3)
|
||||
BitConverter.GetBytes(address).CopyTo(xse_export, 0);
|
||||
MessageBox.Show("Open script in XSE at address 0x"+address.ToString("X"));
|
||||
//Set script to buffer
|
||||
getData(wc3_size-996, 996).CopyTo(xse_export, address);
|
||||
return xse_export;
|
||||
}
|
||||
public void set_script(byte[] newscript)
|
||||
{
|
||||
//UInt32 header = 0xFFFFFF33;
|
||||
//setData(BitConverter.GetBytes(header).ToArray(), wc3_size-1000);
|
||||
//Clear existing script
|
||||
int i = 0;
|
||||
for (i=0; i<996; i++)
|
||||
{
|
||||
Data[wc3_size-i-1] = 0x00;
|
||||
}
|
||||
setData(newscript, wc3_size-996);
|
||||
}
|
||||
public void set_script_XSE(byte[] newscript)
|
||||
{
|
||||
//Clear existing script
|
||||
int i = 0;
|
||||
for (i=0; i<996; i++)
|
||||
{
|
||||
Data[wc3_size-i-1] = 0x00;
|
||||
}
|
||||
//Get address to script
|
||||
UInt32 address = BitConverter.ToUInt32(newscript, 0);
|
||||
setData(newscript.Skip((int)address).Take(996).ToArray(), wc3_size-996);
|
||||
}
|
||||
public byte ID { get { return Data[wc3_size-1000]; } set { Data[wc3_size-1000] = value; } }
|
||||
public byte MAP_BANK { get { return Data[wc3_size-999]; } set { Data[wc3_size-999] = value; } }
|
||||
public byte MAP_MAP { get { return Data[wc3_size-998]; } set { Data[wc3_size-998] = value; } }
|
||||
public byte MAP_NPC { get { return Data[wc3_size-997]; } set { Data[wc3_size-997] = value; } }
|
||||
}
|
||||
}
|
||||
164
wc3_tool/WC3_TOOL.csproj
Normal file
164
wc3_tool/WC3_TOOL.csproj
Normal file
|
|
@ -0,0 +1,164 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" DefaultTargets="Build">
|
||||
<PropertyGroup>
|
||||
<ProjectGuid>{1E65C335-2DE3-410B-B713-5F7B023106CD}</ProjectGuid>
|
||||
<ProjectTypeGuids>{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<OutputType>WinExe</OutputType>
|
||||
<RootNamespace>WC3_TOOL</RootNamespace>
|
||||
<AssemblyName>WC3_TOOL</AssemblyName>
|
||||
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Platform)' == 'AnyCPU' ">
|
||||
<PlatformTarget>x86</PlatformTarget>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">
|
||||
<OutputPath>bin\Debug\</OutputPath>
|
||||
<DebugSymbols>True</DebugSymbols>
|
||||
<DebugType>Full</DebugType>
|
||||
<Optimize>False</Optimize>
|
||||
<CheckForOverflowUnderflow>True</CheckForOverflowUnderflow>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)' == 'Release' ">
|
||||
<OutputPath>bin\Release\</OutputPath>
|
||||
<DebugSymbols>False</DebugSymbols>
|
||||
<DebugType>None</DebugType>
|
||||
<Optimize>True</Optimize>
|
||||
<CheckForOverflowUnderflow>False</CheckForOverflowUnderflow>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="Microsoft.CSharp">
|
||||
<RequiredTargetFramework>4.0</RequiredTargetFramework>
|
||||
</Reference>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Core">
|
||||
<RequiredTargetFramework>3.5</RequiredTargetFramework>
|
||||
</Reference>
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Data.DataSetExtensions">
|
||||
<RequiredTargetFramework>3.5</RequiredTargetFramework>
|
||||
</Reference>
|
||||
<Reference Include="System.Drawing" />
|
||||
<Reference Include="System.Windows.Forms" />
|
||||
<Reference Include="System.Xml" />
|
||||
<Reference Include="System.Xml.Linq">
|
||||
<RequiredTargetFramework>3.5</RequiredTargetFramework>
|
||||
</Reference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="EventTool.cs" />
|
||||
<Compile Include="EventTool.Designer.cs">
|
||||
<DependentUpon>EventTool.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="MainScreen.cs" />
|
||||
<Compile Include="MainScreen.Designer.cs">
|
||||
<DependentUpon>MainScreen.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="WC3\Decor_editor.cs" />
|
||||
<Compile Include="WC3\Decor_editor.Designer.cs">
|
||||
<DependentUpon>Decor_editor.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="WC3\ECB.cs" />
|
||||
<Compile Include="WC3\ECB_editor.cs" />
|
||||
<Compile Include="WC3\ECB_editor.Designer.cs">
|
||||
<DependentUpon>ECB_editor.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="WC3\ECT.cs" />
|
||||
<Compile Include="WC3\ECT_editor.cs" />
|
||||
<Compile Include="WC3\ECT_editor.Designer.cs">
|
||||
<DependentUpon>ECT_editor.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="WC3\ECT_editor_text.cs" />
|
||||
<Compile Include="WC3\ECT_pkedit.cs" />
|
||||
<Compile Include="WC3\ECT_pkedit.Designer.cs">
|
||||
<DependentUpon>ECT_pkedit.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="WC3\ME3.cs" />
|
||||
<Compile Include="WC3\ME3_editor.cs" />
|
||||
<Compile Include="WC3\ME3_editor.Designer.cs">
|
||||
<DependentUpon>ME3_editor.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="WC3\PKHEX\PKM.cs" />
|
||||
<Compile Include="WC3\SAV3.cs" />
|
||||
<Compile Include="WC3\TV.cs" />
|
||||
<Compile Include="WC3\TV_editor.cs" />
|
||||
<Compile Include="WC3\TV_editor.Designer.cs">
|
||||
<DependentUpon>TV_editor.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="WC3\WC3_editor.cs" />
|
||||
<Compile Include="WC3\WC3_editor.Designer.cs">
|
||||
<DependentUpon>WC3_editor.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Program.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
<Compile Include="WC3\FILEIO.cs" />
|
||||
<Compile Include="WC3\wc3.cs" />
|
||||
<Compile Include="WC3\WC3_editor_givegg.cs" />
|
||||
<Compile Include="WC3\WC3_editor_givegg.Designer.cs">
|
||||
<DependentUpon>WC3_editor_givegg.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="WC3\WC3_editor_giveggExt.cs" />
|
||||
<Compile Include="WC3\WC3_editor_giveggExt.Designer.cs">
|
||||
<DependentUpon>WC3_editor_giveggExt.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="WC3\WCN_editor.cs" />
|
||||
<Compile Include="WC3\WCN_editor.Designer.cs">
|
||||
<DependentUpon>WCN_editor.cs</DependentUpon>
|
||||
</Compile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="app.config" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Folder Include="WC3" />
|
||||
<Folder Include="WC3\Image" />
|
||||
<Folder Include="WC3\PKHEX" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<EmbeddedResource Include="EventTool.resx">
|
||||
<DependentUpon>EventTool.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="MainScreen.resx">
|
||||
<DependentUpon>MainScreen.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="WC3\Decor_editor.resx">
|
||||
<DependentUpon>Decor_editor.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="WC3\ECB_editor.resx">
|
||||
<DependentUpon>ECB_editor.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="WC3\ECT_editor.resx">
|
||||
<DependentUpon>ECT_editor.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="WC3\ECT_pkedit.resx">
|
||||
<DependentUpon>ECT_pkedit.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="WC3\GiveEggOrg.resx" />
|
||||
<EmbeddedResource Include="WC3\Image\Cards.resx" />
|
||||
<EmbeddedResource Include="WC3\Image\Icons.resx" />
|
||||
<EmbeddedResource Include="WC3\ME3_editor.resx">
|
||||
<DependentUpon>ME3_editor.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="WC3\Tickets.resx" />
|
||||
<EmbeddedResource Include="WC3\TV_editor.resx">
|
||||
<DependentUpon>TV_editor.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="WC3\WC3_editor.resx">
|
||||
<DependentUpon>WC3_editor.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="WC3\WC3_editor_givegg.resx">
|
||||
<DependentUpon>WC3_editor_givegg.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="WC3\WC3_editor_giveggExt.resx">
|
||||
<DependentUpon>WC3_editor_giveggExt.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="WC3\WCN_editor.resx">
|
||||
<DependentUpon>WCN_editor.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
</Project>
|
||||
6
wc3_tool/app.config
Normal file
6
wc3_tool/app.config
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<configuration>
|
||||
<startup>
|
||||
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0" />
|
||||
</startup>
|
||||
</configuration>
|
||||
Loading…
Reference in New Issue
Block a user