コード例 #1
0
        //マージ専用
        public void AppendList(List <UseValsID> list)
        {
            foreach (var pair in this.EtcTextID)
            {
                UseValsID.AppendTextID(list, FELint.Type.TEXTID_FOR_USER, U.NOT_FOUND, pair.Value, pair.Key);
            }
            foreach (var pair in this.TextID)
            {
                UseValsID.AppendTextID(list, FELint.Type.TEXTID_FOR_SYSTEM, U.NOT_FOUND, pair.Value, pair.Key);
            }

            if (Program.ROM.RomInfo.version == 8)
            {
                if (Program.ROM.RomInfo.is_multibyte)
                {
                    for (uint textid = 0xE00; textid <= 0xEFF; textid++)
                    {
                        UseValsID.AppendTextID(list, FELint.Type.TEXTID_FOR_SYSTEM, U.NOT_FOUND, "", textid);
                    }
                }
                else
                {
                    for (uint textid = 0xE00; textid <= 0xFFF; textid++)
                    {
                        UseValsID.AppendTextID(list, FELint.Type.TEXTID_FOR_SYSTEM, U.NOT_FOUND, "", textid);
                    }
                }
            }
        }
コード例 #2
0
ファイル: EDFE6Form.cs プロジェクト: laqieer/FEBuilderGBA
 public static void MakeVarsIDArray(List <UseValsID> list)
 {
     {
         InputFormRef InputFormRef = N2_Init(null);
         UseValsID.AppendTextID(list, FELint.Type.ED, InputFormRef, new uint[] { 0, 2, 4, 6 });
     }
 }
コード例 #3
0
ファイル: SongTableForm.cs プロジェクト: delvier/FEBuilderGBA
        void UpdateRef(uint id)
        {
            if (Program.ROM.RomInfo.version() == 0)
            {
                return;
            }

            bool r = InputFormRef.UpdateRef(this.X_REF, id, UseValsID.TargetTypeEnum.SONG);

            if (r == false)
            {
                return;
            }

            if (id == 0)
            {
                return;
            }

            //サウンドルームにない音楽はSEだろうから、SE Listから検索する.
            if (!SoundEffectList.ContainsKey(id))
            {
                return;
            }

            var t = new UseValsID(FELint.Type.SE_SYSTEM, U.NOT_FOUND, SoundEffectList[id], id, UseValsID.TargetTypeEnum.SONG, id);

            this.X_REF.Items.Add(t);
        }
コード例 #4
0
        public static void MakeVarsIDArray(List <UseValsID> list)
        {
            InputFormRef InputFormRef = Init(null);

            UseValsID.AppendTextID(list, FELint.Type.SOUNDROOM, InputFormRef, new uint[] { 4, 8 });
            UseValsID.AppendSongID(list, FELint.Type.SOUNDROOM, InputFormRef, new uint[] { 0 });
        }
コード例 #5
0
        public static void MakeVarsIDArray(List <UseValsID> list)
        {
            InputFormRef InputFormRef = Init(null);

            UseValsID.AppendTextID(list, FELint.Type.MAPSETTING, InputFormRef, new uint[] { 112, 114, 118, 120, 122, 124, 136, 138 });
            UseValsID.AppendSongID(list, FELint.Type.MAPSETTING, InputFormRef, new uint[] { 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42 });
        }
コード例 #6
0
        public static void MakeVarsIDArray(List <UseValsID> list)
        {
            InputFormRef InputFormRef = Init(null);

            UseValsID.AppendTextID(list, FELint.Type.MAPSETTING, InputFormRef, new uint[] { 48, 50, 52, 60 });
            UseValsID.AppendSongID(list, FELint.Type.MAPSETTING, InputFormRef, new uint[] { 20, 21, 22, 23, 24 }, isByte: true);
        }
コード例 #7
0
        public static void MakeVarsIDArray(List <UseValsID> list)
        {
            string infobase = R._("死亡セリフ");

            InputFormRef InputFormRef = Init(null);
            List <uint>  tracelist    = new List <uint>();
            uint         haiku_addr   = InputFormRef.BaseAddress;

            for (uint i = 0; i < InputFormRef.DataCount; i++, haiku_addr += InputFormRef.BlockSize)
            {
                uint unitid = Program.ROM.u8(haiku_addr + 0);

                string info   = infobase + " " + UnitForm.GetUnitName(unitid);
                uint   textid = Program.ROM.u16(haiku_addr + 6);

                if (textid <= 0)
                {
                    uint event_addr = Program.ROM.p32(haiku_addr + 8);
                    EventCondForm.MakeVarsIDArrayByEventAddress(list, event_addr, info, tracelist);
                }
                else
                {
                    UseValsID.AppendTextID(list, FELint.Type.HAIKU, haiku_addr, info, textid, i);
                }
            }
//            UseValsID.AppendTextID(list, FELint.Type.HAIKU, InputFormRef, new uint[] { 6 });
        }
コード例 #8
0
        public void MakeVarsIDArray(List <UseValsID> list)
        {
            List <uint> tracelist = new List <uint>();

            foreach (var pair in this.AsmMap)
            {
                if (pair.Value.Length <= 0)
                {
                    continue;
                }

                if (pair.Value.TypeName == "TEXTBATCH")
                {
                    UseValsID.AppendASMDATATextID(list, pair.Value, U.toOffset(pair.Key), 4);
                }
                else if (pair.Value.TypeName == "TEXTBATCHSHORT")
                {
                    UseValsID.AppendASMDATATextID(list, pair.Value, U.toOffset(pair.Key), 2);
                }
                else if (pair.Value.TypeName == "EVENT")
                {
                    uint   event_addr = U.toOffset(pair.Key);
                    string name       = pair.Value.Name;
                    EventCondForm.MakeVarsIDArrayByEventAddress(list, event_addr, name, tracelist);
                }
            }
        }
コード例 #9
0
        static void MakeVarsIDArraySub(List <UseValsID> list, uint p, uint pointer, Dictionary <uint, bool> foundDic)
        {
            string name = "RMENU " + U.To0xHexString(Program.ROM.u16(p + 18));

            if (!foundDic.ContainsKey(p))
            {
                uint id = Program.ROM.u16(p + 18);
                UseValsID.AppendTextID(list, FELint.Type.RMENU, p + 18, "RMENU", id, p);
            }
            foundDic[p] = true;

            uint pp;

            pp = Program.ROM.p32(p + 0);
            if (U.isSafetyOffset(pp) && !foundDic.ContainsKey(pp))
            {
                MakeVarsIDArraySub(list, pp, p + 0, foundDic);
            }
            pp = Program.ROM.p32(p + 4);
            if (U.isSafetyOffset(pp) && !foundDic.ContainsKey(pp))
            {
                MakeVarsIDArraySub(list, pp, p + 4, foundDic);
            }
            pp = Program.ROM.p32(p + 8);
            if (U.isSafetyOffset(pp) && !foundDic.ContainsKey(pp))
            {
                MakeVarsIDArraySub(list, pp, p + 8, foundDic);
            }
            pp = Program.ROM.p32(p + 12);
            if (U.isSafetyOffset(pp) && !foundDic.ContainsKey(pp))
            {
                MakeVarsIDArraySub(list, pp, p + 12, foundDic);
            }
        }
コード例 #10
0
        public static void MakeVarsIDArray(List <UseValsID> list, uint pointer)
        {
            InputFormRef InputFormRef = Init(null);

            InputFormRef.ReInitPointer(pointer);
            UseValsID.AppendTextID(list, FELint.Type.MENU, InputFormRef, new uint[] { 4, 6 });
        }
コード例 #11
0
        public string GetName(uint textid)
        {
            UseValsID p = MakeUseTextID(textid);

            if (p == null)
            {
                return("");
            }
            return(p.Info);
        }
コード例 #12
0
 public static void MakeVarsIDArray(List <UseValsID> list)
 {
     {
         InputFormRef InputFormRef = Init(null);
         UseValsID.AppendTextID(list, FELint.Type.BATTTLE_TALK, InputFormRef, new uint[] { 4 });
     }
     {
         InputFormRef InputFormRef = N1_Init(null);
         UseValsID.AppendTextID(list, FELint.Type.BATTTLE_TALK, InputFormRef, new uint[] { 4 });
     }
 }
コード例 #13
0
        public static void MakeVarsIDArray(List <UseValsID> list, uint script_addr)
        {
            script_addr = U.toOffset(script_addr);
            if (!U.isSafetyOffset(script_addr))
            {
                return;
            }

            InputFormRef InputFormRef = Init(null);

            InputFormRef.ReInit(script_addr);

            UseValsID.AppendTextID(list, FELint.Type.POINTER_TALKGROUP, InputFormRef, new uint[] { 0 });
        }
コード例 #14
0
        public static void MakeVarsIDArray(List <UseValsID> list)
        {
            List <uint>  tracelist    = new List <uint>();
            InputFormRef InputFormRef = Init(null);

            UseValsID.AppendTextID(list, FELint.Type.HAIKU, InputFormRef, new uint[] { 4 }, 8, tracelist);

            InputFormRef N1_InputFormRef = N1_Init(null);

            N1_InputFormRef.ReInitPointer(Program.ROM.RomInfo.event_haiku_tutorial_1_pointer);
            UseValsID.AppendTextID(list, FELint.Type.HAIKU, N1_InputFormRef, new uint[] { }, 4, tracelist);
            N1_InputFormRef.ReInitPointer(Program.ROM.RomInfo.event_haiku_tutorial_2_pointer);
            UseValsID.AppendTextID(list, FELint.Type.HAIKU, N1_InputFormRef, new uint[] { }, 4, tracelist);
        }
コード例 #15
0
        public static void MakeVarsIDArray(List <UseValsID> list)
        {
            InputFormRef InputFormRef = Init(null);

            UseValsID.AppendTextID(list, FELint.Type.MAPSETTING, InputFormRef, new uint[] { 112, 114, 136, 138 });
            if (PatchUtil.IsPreparationBGMByChapter())
            {
                UseValsID.AppendSongID(list, FELint.Type.MAPSETTING, InputFormRef, new uint[] { 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42 });
            }
            else
            {
                UseValsID.AppendSongID(list, FELint.Type.MAPSETTING, InputFormRef, new uint[] { 22, 24, 26, 28, 30, 32, 34, 36, 40, 42 });
            }
        }
コード例 #16
0
        public static void MakeVarsIDArray(List <UseValsID> list)
        {
            {
                InputFormRef InputFormRef = N1_Init(null);
                UseValsID.AppendTextID(list, FELint.Type.ED, InputFormRef, new uint[] { 4 });
            }
            {
                InputFormRef InputFormRef = N2_Init(null);
                UseValsID.AppendTextID(list, FELint.Type.ED, InputFormRef, new uint[] { 4 });

                InputFormRef.ReInitPointer
                    ((Program.ROM.RomInfo.ed_3b_pointer));
                UseValsID.AppendTextID(list, FELint.Type.ED, InputFormRef, new uint[] { 4 });
            }
        }
コード例 #17
0
        //テキストの取得
        public static void MakeVarsIDArray(List <UseValsID> list)
        {
            InputFormRef ifr;

            if (PatchUtil.SearchSkillSystem() != PatchUtil.skill_system_enum.SkillSystem)
            {
                return;
            }

            {
                uint basetextP = FindTextPointer();
                if (basetextP == U.NOT_FOUND)
                {
                    return;
                }
                ifr = Init(null, basetextP);
                UseValsID.AppendTextID(list, FELint.Type.SKILL_CONFIG, ifr, new uint[] { 0 });
            }
        }
コード例 #18
0
        //テキストの取得
        public static void MakeVarsIDArray(List <UseValsID> list)
        {
            uint[] pointer;

            PatchUtil.skill_system_enum skill = PatchUtil.SearchSkillSystem();
            if (skill == PatchUtil.skill_system_enum.FE8N ||
                skill == PatchUtil.skill_system_enum.yugudora)
            {
                pointer = FindSkillFE8NVer1IconPointers();
            }
            else if (skill == PatchUtil.skill_system_enum.FE8N_ver3)
            {//ver3では利用しません
                return;
            }
            else if (skill == PatchUtil.skill_system_enum.FE8N_ver2)
            {
                pointer = SkillConfigFE8NVer2SkillForm.FindSkillFE8NVer2IconPointers();
            }
            else
            {
                return;
            }

            if (pointer == null)
            {
                return;
            }

            InputFormRef ifr = Init(null);

            for (int i = 0; i < pointer.Length; i++)
            {
                ifr.ReInitPointer(pointer[i]);
                if (ifr.DataCount <= 0)
                {
                    continue;
                }
                UseValsID.AppendTextID(list, FELint.Type.SKILL_CONFIG, ifr, new uint[] { 2 });
            }
        }
コード例 #19
0
        //テキストの取得
        public static void MakeVarsIDArray(List <UseValsID> list)
        {
            InputFormRef ifr;

            if (PatchUtil.SearchSkillSystem() != PatchUtil.skill_system_enum.FE8N_ver2)
            {
                return;
            }

            uint[] pointer = FindSkillFE8NVer2IconPointers();
            if (pointer == null)
            {
                return;
            }
            if (g_SkillBaseAddress == 0)
            {
                return;
            }

            ifr = Init(null);
            UseValsID.AppendTextID(list, FELint.Type.SKILL_CONFIG, ifr, new uint[] { 0 });
        }
コード例 #20
0
        public static void RemoveDuplicates(List <UseValsID> list)
        {
            if (list.Count <= 1)
            {
                return;
            }

            for (int n = 0; n < list.Count; n++)
            {
                UseValsID now = list[n];
                for (int i = n + 1; i < list.Count;)
                {
                    UseValsID c = list[i];
                    if (now.ID == c.ID && now.Addr == c.Addr && now.TargetType == c.TargetType)
                    {
                        list.RemoveAt(i);
                    }
                    else
                    {
                        i++;
                    }
                }
            }
        }
コード例 #21
0
        public static void MakeVarsIDArray(List <UseValsID> list)
        {
            InputFormRef InputFormRef = Init(null);

            UseValsID.AppendTextID(list, FELint.Type.EVENT_FINAL_SERIF, InputFormRef, new uint[] { 4 });
        }
コード例 #22
0
        public static void MakeVarsIDArray(List <UseValsID> list)
        {
            InputFormRef InputFormRef = Init(null);

            UseValsID.AppendTextIDPP(list, FELint.Type.UNIT, InputFormRef, new uint[] { 12 });
        }
コード例 #23
0
        public static void MakeVarsIDArray(List <UseValsID> list)
        {
            InputFormRef InputFormRef = Init(null);

            UseValsID.AppendTextID(list, FELint.Type.STATUS_GAME_OPTION, InputFormRef, new uint[] { 0, 4, 6, 12, 14, 20, 22, 28, 30 });
        }
コード例 #24
0
        public static void MakeVarsIDArray(List <UseValsID> list)
        {
            InputFormRef InputFormRef = Init(null);

            UseValsID.AppendTextID(list, FELint.Type.STATUS_UNITS_MENU, InputFormRef, new uint[] { 4, 12 });
        }
コード例 #25
0
        public static void MakeVarsIDArray(List <UseValsID> list)
        {
            InputFormRef InputFormRef = Init(null);

            UseValsID.AppendTextID(list, FELint.Type.WMAP_BASE_POINT, InputFormRef, new uint[] { 28 });
        }
コード例 #26
0
        public static void MakeVarsIDArray(List <UseValsID> list)
        {
            InputFormRef InputFormRef = Init(null);

            UseValsID.AppendTextID(list, FELint.Type.OP_CLASS_DEMO, InputFormRef, new uint[] { 4 });
        }
コード例 #27
0
        public static void MakeVarsIDArray(List <UseValsID> list)
        {
            InputFormRef InputFormRef = Init(null);

            UseValsID.AppendTextID(list, FELint.Type.SUPPORT_TALK, InputFormRef, new uint[] { 4, 8, 12 });
        }
コード例 #28
0
        public static void MakeVarsIDArray(List <UseValsID> list)
        {
            InputFormRef InputFormRef = Init(null);

            UseValsID.AppendSongID(list, FELint.Type.WORLDMAP_BGM, InputFormRef, new uint[] { 0, 2 });
        }