//全データの取得 public static void MakeAllDataLength(List <Address> list) { { InputFormRef InputFormRef = Init(null); FEBuilderGBA.Address.AddAddress(list, InputFormRef, "Item", new uint[] { 12, 16 }); //SkillSystemsによる 特効リワーク PatchUtil.class_type_enum effectivenesRework = PatchUtil.SearchClassType(); //grows mod PatchUtil.growth_mod_enum growthmod = PatchUtil.SearchGrowsMod(); uint addr = InputFormRef.BaseAddress; for (int i = 0; i < InputFormRef.DataCount; i++, addr += InputFormRef.BlockSize) { uint itemStatBonuses = Program.ROM.p32(addr + 12); if (itemStatBonuses > 0) { uint vennoExtends = Program.ROM.u8(addr + 34); uint statBonusesSize = 12; //バニラは12バイト if (growthmod == PatchUtil.growth_mod_enum.Vennou && vennoExtends == 1) { statBonusesSize = 16; //vennou拡張は16バイト } else if (growthmod == PatchUtil.growth_mod_enum.SkillSystems && vennoExtends == 1) { statBonusesSize = 20; //SkillSystemsは20バイト } FEBuilderGBA.Address.AddAddress(list, itemStatBonuses , statBonusesSize , addr + 12 , "StatBooster " + U.To0xHexString(i) , FEBuilderGBA.Address.DataTypeEnum.BIN); } uint itemEffectiveness = Program.ROM.p32(addr + 16); if (itemEffectiveness > 0) { if (effectivenesRework == FEBuilderGBA.PatchUtil.class_type_enum.SkillSystems_Rework) { List <U.AddrResult> arlist = ItemEffectivenessSkillSystemsReworkForm.MakeCriticalClassList((uint)itemEffectiveness); FEBuilderGBA.Address.AddAddress(list, itemEffectiveness , (uint)(arlist.Count + 1) * 4 , addr + 16 , "ItemEffectiveness " + U.To0xHexString(i) , FEBuilderGBA.Address.DataTypeEnum.BIN); } else { List <U.AddrResult> arlist = ItemEffectivenessForm.MakeCriticalClassList((uint)itemEffectiveness); FEBuilderGBA.Address.AddAddress(list, itemEffectiveness , (uint)(arlist.Count + 1) , addr + 16 , "ItemEffectiveness " + U.To0xHexString(i) , FEBuilderGBA.Address.DataTypeEnum.BIN); } } } } }
private void P16_ValueChanged(object sender, EventArgs e) { if (PatchUtil.SearchClassType() == PatchUtil.class_type_enum.SkillSystems_Rework) {//SkillSystemsによる 特効リワーク List <U.AddrResult> arlist = ItemEffectivenessSkillSystemsReworkForm.MakeCriticalClassList((uint)P16.Value); U.ConvertListBox(arlist, ref CLASS_LISTBOX); } else { List <U.AddrResult> arlist = ItemEffectivenessForm.MakeCriticalClassList((uint)P16.Value); U.ConvertListBox(arlist, ref CLASS_LISTBOX); } }