mirror of
https://github.com/projectpokemon/Gen3-WCTool.git
synced 2026-03-22 01:44:09 -05:00
850 lines
38 KiB
C#
850 lines
38 KiB
C#
/*
|
|
* 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.Linq;
|
|
using System.Windows.Forms;
|
|
|
|
namespace WC3Tool
|
|
{
|
|
/// <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)
|
|
{
|
|
easychat = ECT_editor_text.easy_chat_ita;
|
|
}else if (ger.Checked)
|
|
{
|
|
easychat = ECT_editor_text.easy_chat_ger;
|
|
}else if (fre.Checked)
|
|
{
|
|
easychat = ECT_editor_text.easy_chat_fre;
|
|
}else if (esp.Checked)
|
|
{
|
|
easychat = ECT_editor_text.easy_chat_esp;
|
|
}else if (jap.Checked)
|
|
{
|
|
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 = StringConverter.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;
|
|
|
|
ectfile.setData(StringConverter.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 = StringConverter.GetG3Str(ectfile.getData(0x4, 8), jap_check.Checked);
|
|
if (jap_check.Checked)
|
|
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)
|
|
trainer_class.Items.AddRange(trainer_index_E);
|
|
else if(radio_FRLG.Checked)
|
|
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)
|
|
trainer_class.SelectedIndex = (int)trainer_class_value.Value;
|
|
else if(trainer_class_value.Value <= 0x4F && radio_e.Checked)
|
|
trainer_class.SelectedIndex = (int)trainer_class_value.Value;
|
|
else if(trainer_class_value.Value <= 0x92 && radio_FRLG.Checked)
|
|
trainer_class.SelectedIndex = (int)trainer_class_value.Value;
|
|
|
|
if(trainer_class_value.Value > 0x4C && radio_rs.Checked)
|
|
trainer_class.SelectedIndex = 0x4D;
|
|
else if(trainer_class_value.Value > 0x4F && radio_e.Checked)
|
|
trainer_class.SelectedIndex = 0x50;
|
|
else if(trainer_class_value.Value > 0x92 && radio_FRLG.Checked)
|
|
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]);
|
|
}
|
|
}
|
|
}
|