Example #1
0
        //テキストIDの取得
        public static void MakeVarsIDArray(List <UseValsID> list)
        {
            List <uint> tracelist = new List <uint>();
            {
                InputFormRef ifr = N_Init(null);

                string basename;
                basename = "WorldMapEvent ";

                uint p = ifr.BaseAddress;
                for (int i = 0; i < ifr.DataCount; i++, p += ifr.BlockSize)
                {
                    string name = basename + U.To0xHexString((uint)i);
                    EventCondForm.MakeVarsIDArrayByEventPointer(list, p, name, tracelist);
                }
            }
            {
                uint   p    = Program.ROM.RomInfo.ending1_event_pointer;
                string name = R._("エリウッドエンディング");
                EventCondForm.MakeVarsIDArrayByEventPointer(list, p, name, tracelist);
            }
            {
                uint   p    = Program.ROM.RomInfo.ending2_event_pointer;
                string name = R._("ヘクトルエンディング");
                EventCondForm.MakeVarsIDArrayByEventPointer(list, p, name, tracelist);
            }
        }
        //テキストIDの取得
        public static void MakeVarsIDArray(List <UseValsID> list)
        {
            List <uint> tracelist = new List <uint>();
            {
                InputFormRef InputFormRef = Init(null);

                string basename = "WorldMapEvent Before ";

                uint p = InputFormRef.BaseAddress;
                for (int i = 0; i < InputFormRef.DataCount; i++, p += InputFormRef.BlockSize)
                {
                    string name = basename + U.To0xHexString((uint)i);
                    EventCondForm.MakeVarsIDArrayByEventPointer(list, p, name, tracelist);
                }
            }

            //FE8だけ、フリーマップがあるので複雑なイベントが設定されています.
            {
                InputFormRef InputFormRef = N_Init(null);

                uint p = InputFormRef.BaseAddress;
                for (int i = 0; i < InputFormRef.DataCount; i++, p += InputFormRef.BlockSize)
                {
                    string name = "WorldMapEvent After " + U.To0xHexString((uint)i);
                    EventCondForm.MakeVarsIDArrayByEventPointer(list, p, name, tracelist);
                }
            }
            {
                uint   p    = Program.ROM.RomInfo.oping_event_pointer;
                string name = R._("オープニングイベント");
                EventCondForm.MakeVarsIDArrayByEventPointer(list, p, name, tracelist);
            }
            {
                uint   p    = Program.ROM.RomInfo.ending1_event_pointer;
                string name = R._("エイリークエンディング");
                EventCondForm.MakeVarsIDArrayByEventPointer(list, p, name, tracelist);
            }
            {
                uint   p    = Program.ROM.RomInfo.ending2_event_pointer;
                string name = R._("エフラムエンディング");
                EventCondForm.MakeVarsIDArrayByEventPointer(list, p, name, tracelist);
            }
        }
        //テキストIDの取得
        public static void MakeVarsIDArray(List <UseValsID> list)
        {
            List <uint> tracelist = new List <uint>();
            uint        mapmax    = MapSettingForm.GetDataCount();

            for (uint mapid = 0; mapid < mapmax; mapid++)
            {
                uint wmapid = MapSettingForm.GetWorldMapEventIDWhereMapID(mapid);
                if (wmapid == 0)
                {//存在しない
                    continue;
                }
                //FE6はPLISTが格納されている.
                uint p;
                uint event_addr = MapPointerForm.PlistToOffsetAddrFast(MapPointerForm.PLIST_TYPE.WORLDMAP_FE6ONLY, wmapid, out p);
                if (event_addr == U.NOT_FOUND)
                {
                    continue;
                }

                string name = "WorldMapEvent " + U.To0xHexString(mapid) + " ";
                EventCondForm.MakeVarsIDArrayByEventPointer(list, p, name, tracelist);
            }
        }