private void AddressList_SelectedIndexChanged(object sender, EventArgs e)
        {
            uint assignLevelUpP = FindFE8SpellPatchPointer();

            if (assignLevelUpP == U.NOT_FOUND)
            {
                return;
            }
            uint assignLevelUpAddr = Program.ROM.p32(assignLevelUpP);

            if (!U.isSafetyOffset(assignLevelUpAddr))
            {
                return;
            }

            uint addr        = assignLevelUpAddr + (((uint)AddressList.SelectedIndex) * 4);
            uint levelupList = Program.ROM.p32(addr);

            if (!U.isSafetyOffset(levelupList))
            {
                N1_InputFormRef.ClearSelect(true);
                IndependencePanel.Visible = false;
                return;
            }

            N1_InputFormRef.ReInit(levelupList);

            //他のクラスでこのデータを参照しているならば、独立ボタンを出す.
            IndependencePanel.Visible = UpdateIndependencePanel();
            //N1の書き込みボタンが反応してしまうときがあるのでやめさせる.
            InputFormRef.WriteButtonToYellow(this.N1_WriteButton, false);
        }
        public SkillAssignmentClassSkillSystemForm()
        {
            InitializeComponent();

            uint iconP          = SkillConfigSkillSystemForm.FindIconPointer();
            uint textP          = SkillConfigSkillSystemForm.FindTextPointer();
            uint assignClassP   = SkillConfigSkillSystemForm.FindAssignClassSkillPointer();
            uint assignLevelUpP = SkillConfigSkillSystemForm.FindAssignClassLevelUpSkillPointer();

            if (iconP == U.NOT_FOUND)
            {
                R.ShowStopError("スキル拡張 SkillSystem の、アイコンを取得できません。");
                return;
            }
            if (textP == U.NOT_FOUND)
            {
                R.ShowStopError("スキル拡張 SkillSystem の、テキストを取得できません。");
                return;
            }
            if (assignClassP == U.NOT_FOUND)
            {
                R.ShowStopError("スキル拡張 SkillSystem の、クラススキルを取得できません。");
                return;
            }
            if (assignLevelUpP == U.NOT_FOUND)
            {
                R.ShowStopError("スキル拡張 SkillSystem の、レベルアップスキルを取得できません。");
                return;
            }
            this.SkillNames = SkillConfigSkillSystemForm.LoadSkillNames();

            this.TextBaseAddress          = Program.ROM.p32(textP);
            this.IconBaseAddress          = Program.ROM.p32(iconP);
            this.AssignClassBaseAddress   = Program.ROM.p32(assignClassP);
            this.AssignLevelUpBaseAddress = Program.ROM.p32(assignLevelUpP);

            this.N1_AddressList.OwnerDraw(DrawSkillAndText, DrawMode.OwnerDrawFixed);
            InputFormRef.markupJumpLabel(this.N1_J_1_SKILLASSIGNMENT);
            N1_InputFormRef = N1_Init(this, this.SkillNames);
            N1_InputFormRef.PostAddressListExpandsEvent += N1_InputFormRef_AddressListExpandsEvent;
            N1_InputFormRef.MakeGeneralAddressListContextMenu(true);

            this.AddressList.OwnerDraw(ListBoxEx.DrawClassAndText, DrawMode.OwnerDrawFixed);
            InputFormRef.markupJumpLabel(this.J_0_SKILLASSIGNMENT);
            InputFormRef = Init(this, assignClassP);
            this.InputFormRef.MakeGeneralAddressListContextMenu(true);
            this.InputFormRef.CheckProtectionPaddingALIGN4 = false;

            U.SetIcon(ExportAllButton, Properties.Resources.icon_arrow);
            U.SetIcon(ImportAllButton, Properties.Resources.icon_upload);
            InputFormRef.markupJumpLabel(X_LEARNINFO);

            if (SkillConfigSkillSystemForm.IsClassSkillExtends())
            {
                UseXLevelAddPanel = true;
            }
        }
Exemplo n.º 3
0
        public SkillConfigFE8NVer2SkillForm()
        {
            InitializeComponent();

            uint[] pointer = FindSkillFE8NVer2IconPointers();
            if (pointer == null)
            {
                R.ShowStopError("スキル拡張 FE8Nver2 のポインタを取得できませんでした");
                return;
            }
            if (pointer.Length < 5)
            {
                R.ShowStopError("スキル拡張 FE8Nver2 のポインタが所定の数だけありません。\r\n{0}個必要ですが、{1}個しかありません。", 5, pointer.Length);
                return;
            }
            this.BasePointer = pointer;
            if (pointer.Length > 5)
            {
                this.AnimeBaseAddress = Program.ROM.p32(pointer[5]);
            }

            InitAnime();

            N1_InputFormRef = N1_Init(this);
            N1_InputFormRef.AddressListExpandsEvent += AddressListExpandsEvent_N1;
            N1_InputFormRef.MakeGeneralAddressListContextMenu(true);
            this.N1_AddressList.OwnerDraw(ListBoxEx.DrawUnitAndText, DrawMode.OwnerDrawFixed);

            N2_InputFormRef = N2_Init(this);
            N2_InputFormRef.AddressListExpandsEvent += AddressListExpandsEvent_N2;
            N2_InputFormRef.MakeGeneralAddressListContextMenu(true);
            this.N2_AddressList.OwnerDraw(ListBoxEx.DrawClassAndText, DrawMode.OwnerDrawFixed);

            N3_InputFormRef = N3_Init(this);
            N3_InputFormRef.AddressListExpandsEvent += AddressListExpandsEvent_N3;
            N3_InputFormRef.MakeGeneralAddressListContextMenu(true);
            this.N3_AddressList.OwnerDraw(ListBoxEx.DrawItemAndText, DrawMode.OwnerDrawFixed);

            this.InputFormRef = Init(this, pointer[4]);
            this.InputFormRef.MakeGeneralAddressListContextMenu(true);
            this.AddressList.OwnerDraw(DrawSkillAndText, DrawMode.OwnerDrawFixed);


            MainTab.SelectedIndex = 1;
            U.SetIcon(ImportButton, Properties.Resources.icon_upload);
            U.SetIcon(ExportButton, Properties.Resources.icon_arrow);
            U.SetIcon(AnimationInportButton, Properties.Resources.icon_upload);
            U.SetIcon(AnimationExportButton, Properties.Resources.icon_arrow);

            U.AllowDropFilename(this, ImageFormRef.IMAGE_FILE_FILTER, (string filename) =>
            {
                using (ImageFormRef.AutoDrag ad = new ImageFormRef.AutoDrag(filename))
                {
                    ImportButton_Click(null, null);
                }
            });
        }
Exemplo n.º 4
0
        public SkillAssignmentUnitSkillSystemForm()
        {
            InitializeComponent();

            uint icon           = SkillConfigSkillSystemForm.FindIconPointer();
            uint text           = SkillConfigSkillSystemForm.FindTextPointer();
            uint assignUnit     = SkillConfigSkillSystemForm.FindAssignPersonalSkillPointer();
            uint assignLevelUpP = SkillConfigSkillSystemForm.FindAssignUnitLevelUpSkillPointer();

            if (icon == U.NOT_FOUND)
            {
                R.ShowStopError("スキル拡張 SkillSystem の、アイコンを取得できません。");
                return;
            }
            if (text == U.NOT_FOUND)
            {
                R.ShowStopError("スキル拡張 SkillSystem の、テキストを取得できません。");
                return;
            }
            if (assignUnit == U.NOT_FOUND)
            {
                R.ShowStopError("スキル拡張 SkillSystem の、個人スキルを取得できません。");
                return;
            }
            this.SkillNames = SkillConfigSkillSystemForm.LoadSkillNames();

            this.TextBaseAddress       = Program.ROM.p32(text);
            this.IconBaseAddress       = Program.ROM.p32(icon);
            this.AssignUnitBaseAddress = Program.ROM.p32(assignUnit);
            if (assignLevelUpP == U.NOT_FOUND)
            {//古いパッチでは、ユニットベースのレベルアップスキルが存在しない
                this.AssignLevelUpBaseAddress = U.NOT_FOUND;
                UnitLevelUpSkill.Hide();
            }
            else
            {
                this.AssignLevelUpBaseAddress = Program.ROM.p32(assignLevelUpP);
            }

            this.AddressList.OwnerDraw(ListBoxEx.DrawUnitAndText, DrawMode.OwnerDrawFixed);
            InputFormRef.markupJumpLabel(this.J_0_SKILLASSIGNMENT);
            InputFormRef = Init(this, assignUnit);
            InputFormRef.MakeGeneralAddressListContextMenu(true);
            InputFormRef.CheckProtectionPaddingALIGN4 = false;

            this.N1_AddressList.OwnerDraw(DrawSkillAndText, DrawMode.OwnerDrawFixed);
            InputFormRef.markupJumpLabel(this.N1_J_1_SKILLASSIGNMENT);
            N1_InputFormRef = N1_Init(this, this.SkillNames);
            N1_InputFormRef.AddressListExpandsEvent += N1_InputFormRef_AddressListExpandsEvent;
            N1_InputFormRef.MakeGeneralAddressListContextMenu(true);

            InputFormRef.markupJumpLabel(X_LEARNINFO);
        }
Exemplo n.º 5
0
        public SkillAssignmentClassSkillSystemForm()
        {
            InitializeComponent();

            uint iconP          = SkillConfigSkillSystemForm.FindIconPointer();
            uint textP          = SkillConfigSkillSystemForm.FindTextPointer();
            uint assignClassP   = SkillConfigSkillSystemForm.FindAssignClassSkillPointer();
            uint assignLevelUpP = SkillConfigSkillSystemForm.FindAssignClassLevelUpSkillPointer();

            if (iconP == U.NOT_FOUND)
            {
                R.ShowStopError("スキル拡張 SkillSystem の、アイコンを取得できません。");
                return;
            }
            if (textP == U.NOT_FOUND)
            {
                R.ShowStopError("スキル拡張 SkillSystem の、テキストを取得できません。");
                return;
            }
            if (assignClassP == U.NOT_FOUND)
            {
                R.ShowStopError("スキル拡張 SkillSystem の、クラススキルを取得できません。");
                return;
            }
            if (assignLevelUpP == U.NOT_FOUND)
            {
                R.ShowStopError("スキル拡張 SkillSystem の、レベルアップスキルを取得できません。");
                return;
            }
            this.SkillNames = U.LoadDicResource(U.ConfigDataFilename("skill_extends_skillsystem_name_"));

            this.TextBaseAddress          = Program.ROM.p32(textP);
            this.IconBaseAddress          = Program.ROM.p32(iconP);
            this.AssignClassBaseAddress   = Program.ROM.p32(assignClassP);
            this.AssignLevelUpBaseAddress = Program.ROM.p32(assignLevelUpP);

            this.N1_AddressList.OwnerDraw(DrawSkillAndText, DrawMode.OwnerDrawFixed);
            InputFormRef.markupJumpLabel(this.N1_J_1_SKILLASSIGNMENT);
            N1_InputFormRef = N1_Init(this, this.SkillNames);
            N1_InputFormRef.AddressListExpandsEvent += N1_InputFormRef_AddressListExpandsEvent;
            N1_InputFormRef.MakeGeneralAddressListContextMenu(true);

            this.AddressList.OwnerDraw(ListBoxEx.DrawClassAndText, DrawMode.OwnerDrawFixed);
            InputFormRef.markupJumpLabel(this.J_0_SKILLASSIGNMENT);
            InputFormRef = Init(this, assignClassP);
            this.InputFormRef.MakeGeneralAddressListContextMenu(true);
            this.InputFormRef.CheckProtectionPaddingALIGN4 = false;
        }
        public FE8SpellMenuExtendsForm()
        {
            InitializeComponent();

            uint assignLevelUpP = FindFE8SpellPatchPointer();

            if (assignLevelUpP == U.NOT_FOUND)
            {
                return;
            }

            this.AddressList.OwnerDraw(ListBoxEx.DrawUnitAndText, DrawMode.OwnerDrawFixed);
            InputFormRef = Init(this, assignLevelUpP);
            InputFormRef.MakeGeneralAddressListContextMenu(true);

            this.N1_AddressList.OwnerDraw(ListBoxEx.DrawItemAndText, DrawMode.OwnerDrawFixed);
            N1_InputFormRef = N1_Init(this);
            N1_InputFormRef.PostAddressListExpandsEvent += N1_InputFormRef_AddressListExpandsEvent;
            N1_InputFormRef.MakeGeneralAddressListContextMenu(true);
        }
Exemplo n.º 7
0
        private void AddressList_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (AssignLevelUpBaseAddress == U.NOT_FOUND)
            {//昔のバージョンは、ユニット単位のレベルアップスキルは存在しなかった
                return;
            }

            uint addr        = AssignLevelUpBaseAddress + (((uint)AddressList.SelectedIndex) * 4);
            uint levelupList = Program.ROM.p32(addr);

            if (!U.isSafetyOffset(levelupList))
            {
                N1_InputFormRef.ClearSelect(true);
                IndependencePanel.Visible = false;
                return;
            }

            N1_InputFormRef.ReInit(levelupList);

            //他のクラスでこのデータを参照しているならば、独立ボタンを出す.
            IndependencePanel.Visible = UpdateIndependencePanel();
            //N1の書き込みボタンが反応してしまうときがあるのでやめさせる.
            InputFormRef.WriteButtonToYellow(this.N1_WriteButton, false);
        }
Exemplo n.º 8
0
        public SkillConfigFE8NVer3SkillForm()
        {
            InitializeComponent();

            uint[] pointer = FindSkillFE8NVer3IconPointers();
            if (pointer == null)
            {
                R.ShowStopError("スキル拡張 FE8Nver2 のポインタを取得できませんでした");
                return;
            }
            if (pointer.Length < 5)
            {
                R.ShowStopError("スキル拡張 FE8Nver2 のポインタが所定の数だけありません。\r\n{0}個必要ですが、{1}個しかありません。", 5, pointer.Length);
                return;
            }
            Debug.Assert(g_SkillBaseAddress != 0);

            InitAnime();

            N1_InputFormRef = N1_Init(this);
            N1_InputFormRef.PostAddressListExpandsEvent += AddressListExpandsEvent_N1;
            N1_InputFormRef.MakeGeneralAddressListContextMenu(true);
            this.N1_AddressList.OwnerDraw(ListBoxEx.DrawUnitAndText, DrawMode.OwnerDrawFixed);

            N2_InputFormRef = N2_Init(this);
            N2_InputFormRef.PostAddressListExpandsEvent += AddressListExpandsEvent_N2;
            N2_InputFormRef.MakeGeneralAddressListContextMenu(true);
            this.N2_AddressList.OwnerDraw(ListBoxEx.DrawClassAndText, DrawMode.OwnerDrawFixed);

            N3_InputFormRef = N3_Init(this);
            N3_InputFormRef.PostAddressListExpandsEvent += AddressListExpandsEvent_N3;
            N3_InputFormRef.MakeGeneralAddressListContextMenu(true);
            this.N3_AddressList.OwnerDraw(ListBoxEx.DrawItemAndText, DrawMode.OwnerDrawFixed);

            N4_InputFormRef = N4_Init(this);
            N4_InputFormRef.PostAddressListExpandsEvent += AddressListExpandsEvent_N4;
            N4_InputFormRef.MakeGeneralAddressListContextMenu(true);
            this.N4_AddressList.OwnerDraw(ListBoxEx.DrawItemAndText, DrawMode.OwnerDrawFixed);

            N5_InputFormRef = N5_Init(this);
            N5_InputFormRef.PostAddressListExpandsEvent += AddressListExpandsEvent_N5;
            N5_InputFormRef.MakeGeneralAddressListContextMenu(true);
            this.N4_AddressList.OwnerDraw(ListBoxEx.DrawSkillAndText, DrawMode.OwnerDrawFixed);

            this.InputFormRef = Init(this);
            this.InputFormRef.MakeGeneralAddressListContextMenu(false);
            this.AddressList.OwnerDraw(DrawSkillAndText, DrawMode.OwnerDrawFixed);

            MainTab.SelectedIndex = 1;
            U.SetIcon(ImportButton, Properties.Resources.icon_upload);
            U.SetIcon(ExportButton, Properties.Resources.icon_arrow);
            U.SetIcon(AnimationInportButton, Properties.Resources.icon_upload);
            U.SetIcon(AnimationExportButton, Properties.Resources.icon_arrow);
            InputFormRef.markupJumpLabel(X_JUMP_TO_COMBAT_ART);

            U.AllowDropFilename(this, ImageFormRef.IMAGE_FILE_FILTER, (string filename) =>
            {
                using (ImageFormRef.AutoDrag ad = new ImageFormRef.AutoDrag(filename))
                {
                    ImportButton_Click(null, null);
                }
            });
        }