Ejemplo n.º 1
0
        static uint FindSkillScrollItemIDLow()
        {
            PatchUtil.ItemUsingExtends itemUsingExtends = PatchUtil.ItemUsingExtendsPatch();
            if (itemUsingExtends != PatchUtil.ItemUsingExtends.IER)
            {
                return(U.NOT_FOUND);
            }

            byte[] SpellsGetter_dmp_bin = new byte[] { 0x08, 0x21, 0x08, 0x40, 0x00, 0x28, 0x11, 0xD1, 0x10, 0x1C, 0xFF, 0x21, 0x08, 0x40, 0x06, 0x4B, 0x19, 0x78, 0x00, 0x29, 0x05, 0xD0, 0x88, 0x42, 0x01, 0xD0, 0x01, 0x33, 0xF8, 0xE7, 0x01, 0x20, 0x05, 0xE0, 0x10, 0x12, 0x03, 0xE0, 0x00, 0x00 };
            uint   pointer = U.GrepEnd(Program.ROM.Data, SpellsGetter_dmp_bin, Program.ROM.RomInfo.compress_image_borderline_address, 0, 4);

            if (pointer == U.NOT_FOUND)
            {
                return(U.NOT_FOUND);
            }
            if (!U.isSafetyOffset(pointer))
            {
                return(U.NOT_FOUND);
            }
            uint itemAddr = Program.ROM.p32(pointer);

            if (!U.isSafetyOffset(itemAddr))
            {
                return(U.NOT_FOUND);
            }
            return(Program.ROM.u8(itemAddr));
        }
Ejemplo n.º 2
0
        private void B0_ValueChanged(object sender, EventArgs e)
        {
            PatchUtil.ItemUsingExtends itemUsingExtends = PatchUtil.ItemUsingExtendsPatch();
            if (itemUsingExtends != PatchUtil.ItemUsingExtends.IER)
            {
                return;
            }

            uint skillScrollItemID = SkillConfigSkillSystemForm.FindSkillScrollItemID();

            if (B0.Value != skillScrollItemID)
            {
                J_1.Text = R._("耐久");
                SKILLNAME.Hide();
                SKILLICON.Hide();
                InputFormRef.UseDecMode(B1);
            }
            else
            {
                J_1.Text = R._("スキルID");
                SKILLNAME.Show();
                SKILLICON.Show();
                InputFormRef.UseHexMode(B1);
            }
        }
Ejemplo n.º 3
0
 private void B34_ValueChanged(object sender, EventArgs e)
 {
     PatchUtil.ItemUsingExtends itemUsingExtends = PatchUtil.ItemUsingExtendsPatch();
     if (itemUsingExtends == PatchUtil.ItemUsingExtends.IER)
     {
         UpdateIERHint();
     }
 }
Ejemplo n.º 4
0
        public static void PreLoadResource_item_staff_use_effect(string fullfilename)
        {
            g_item_staff_use_effect_List = U.LoadDicResource(fullfilename);

            PatchUtil.ItemUsingExtends itemUsingExtends = PatchUtil.ItemUsingExtendsPatch();
            if (itemUsingExtends == PatchUtil.ItemUsingExtends.IER)
            {
                g_item_staff_use_effect_List[0x37] = R._("ラトナ");
                g_item_staff_use_effect_List[0x38] = R._("スキルの書");
            }
        }
Ejemplo n.º 5
0
        public ItemForm()
        {
            InitializeComponent();

            this.AddressList.OwnerDraw(ListBoxEx.DrawItemAndText, DrawMode.OwnerDrawFixed);

            if (PatchUtil.SearchClassType() == PatchUtil.class_type_enum.SkillSystems_Rework)
            {//SkillSystemsによる 特効リワーク
                this.CLASS_LISTBOX.OwnerDraw(ListBoxEx.DrawClassTypeAndText, DrawMode.OwnerDrawFixed);
            }
            else
            {
                this.CLASS_LISTBOX.OwnerDraw(ListBoxEx.DrawClassAndText, DrawMode.OwnerDrawFixed);
                this.CLASS_LISTBOX.ItemListToJumpForm("CLASS");
            }

            PatchUtil.ItemUsingExtends itemUsingExtends = PatchUtil.ItemUsingExtendsPatch();
            if (itemUsingExtends == PatchUtil.ItemUsingExtends.IER)
            {
                J_34.Text = "IER Byte";
                J_34.AccessibleDescription = R._("IERによって参照される値です。\r\nアイテムに応じて役割が変わります。");
                X_34_Info.Show();
            }
            else
            {
                //growth mod
                PatchUtil.growth_mod_enum growthmod = PatchUtil.SearchGrowsMod();
                if (growthmod == PatchUtil.growth_mod_enum.SkillSystems ||
                    growthmod == PatchUtil.growth_mod_enum.Vennou)
                {
                    J_34.Text = "Growth_Mod";
                    J_34.AccessibleDescription = "この拡張は、通常のstatboosterよりも大きいデータを必要とします。\r\nこの拡張フラグを1に設定した後で、statbooster領域を確保してください。\r\n既に確保している場合は、statboosterアドレスを0に設定して再確保してください。";
                }
            }

            if (PatchUtil.SearchSkillSystem() == PatchUtil.skill_system_enum.SkillSystem)
            {
                J_33.Text = "Debuff";
                J_34.AccessibleDescription = "SkillSystemsのDebuffsの値を設定します。\r\n0の場合はDebuffsはありません。\r\n1以降の場合、利用したいDebuffsTableの値を設定します。\r\nDebuffsTableの値はPatchから設定可能です。";
                InputFormRef.markupJumpLabel(J_33);
            }

            this.InputFormRef = Init(this);
            this.InputFormRef.UseWriteProtectionID00 = true; //ID:0x00を書き込み禁止
            this.InputFormRef.MakeGeneralAddressListContextMenu(true);

            InputFormRef.LoadComboResource(L_30_COMBO, g_item_staff_use_effect_List);
            InputFormRef.LoadComboResource(L_31_COMBO, g_item_weapon_effect_List);

            InputFormRef.markupJumpLabel(JumpToITEMEFFECT);
            InputFormRef.markupJumpLabel(HardCodingWarningLabel);
        }
Ejemplo n.º 6
0
        private void B1_ValueChanged(object sender, EventArgs e)
        {
            PatchUtil.ItemUsingExtends itemUsingExtends = PatchUtil.ItemUsingExtendsPatch();
            if (itemUsingExtends != PatchUtil.ItemUsingExtends.IER)
            {
                return;
            }

            if (!SKILLNAME.Visible)
            {
                return;
            }
            uint skillid = (uint)B1.Value;

            SKILLICON.Image = SkillConfigSkillSystemForm.DrawSkillIcon(skillid);
            SKILLNAME.Text  = SkillConfigSkillSystemForm.GetSkillName(skillid);
        }
Ejemplo n.º 7
0
        public ItemShopForm()
        {
            InitializeComponent();

            this.SHOP_LIST.OwnerDraw(ListBoxEx.DrawTextOnly, DrawMode.OwnerDrawFixed);
            this.AddressList.OwnerDraw(ListBoxEx.DrawItemAndText, DrawMode.OwnerDrawFixed);

            PatchUtil.ItemUsingExtends itemUsingExtends = PatchUtil.ItemUsingExtendsPatch();
            if (itemUsingExtends == PatchUtil.ItemUsingExtends.IER)
            {
                J_1.Text = R._("耐久");
                J_1.AccessibleDescription = "@IERUSES";
            }

            this.InputFormRef = Init(this);
            this.InputFormRef.PreWriteHandler += OnPreWrite;
            U.ConvertListBox(MakeShopList(), ref SHOP_LIST);

            this.InputFormRef.PostAddressListExpandsEvent += AddressListExpandsEvent;
            this.InputFormRef.MakeGeneralAddressListContextMenu(true);
        }
Ejemplo n.º 8
0
        private void AddressList_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (this.AddressList.SelectedIndex > 0)
            {
                L_2_TEXT_ITEMX.ErrorMessage = ChcekTextItem1ErrorMessage((uint)B6.Value, L_2_TEXT_ITEMX.Text, (uint)W2.Value, (uint)B7.Value, L_8_BIT_01.Checked);
                L_4_TEXT_ITEM2.ErrorMessage = ChcekTextItem2ErrorMessage((uint)B6.Value, L_2_TEXT_ITEMX.Text, (uint)W2.Value, (uint)B7.Value, L_8_BIT_01.Checked);
            }
            else
            {
                L_2_TEXT_ITEMX.ErrorMessage = "";
                L_4_TEXT_ITEM2.ErrorMessage = "";
            }

            if (P12.Value == 0 &&
                this.AddressList.SelectedIndex > 0)
            {
                L_12_NEWALLOC_ITEMSTATBOOSTER.Show();
            }
            else
            {
                L_12_NEWALLOC_ITEMSTATBOOSTER.Hide();
            }
            if (P16.Value == 0 &&
                this.AddressList.SelectedIndex > 0)
            {
                L_16_NEWALLOC_EFFECTIVENESS.Show();
            }
            else
            {
                L_16_NEWALLOC_EFFECTIVENESS.Hide();
            }

            PatchUtil.ItemUsingExtends itemUsingExtends = PatchUtil.ItemUsingExtendsPatch();
            if (itemUsingExtends == PatchUtil.ItemUsingExtends.IER)
            {
                UpdateIERHint();
            }

            CheckHardCodingWarning();
        }