public void Parse(DataSection node, VoidPtr address)
        {
            _data    = node;
            _address = address;

            TryGetValues();
            OnParse();

            int i = 0;

            foreach (var a in _data._articles)
            {
                a._index = i++;
            }

            _data._articles = _data._articles.OrderBy(x => x._offset).ToList();

            i = 0;
            foreach (var a in _data._paramLists)
            {
                a._index = i++;
            }

            _data._paramLists = _data._paramLists.OrderBy(x => x._offset).ToList();
        }
        public static void ParseCharacter(CharName name, DataSection data, VoidPtr address)
        {
            OffsetHolder o = ExtraDataOffsets.GetOffsets(name);

            if (o != null)
            {
                o.Parse(data, address);
            }
        }
Example #3
0
            public void Parse(DataSection node, VoidPtr address)
            {
                Offsets *addr = (Offsets *)address;

                for (int i = 6; i < 10; i++)
                {
                    int x = (int)addr->Entries[i];
                    node._articles.Add(x, node.Parse <ArticleNode>(x));
                }
            }
        public List <VoidPtr> Write(DataSection node, VoidPtr address)
        {
            _lookupAddresses = new List <VoidPtr>();
            _data            = node;
            _address         = address;

            TrySetValues();
            OnWrite();

            return(_lookupAddresses);
        }
Example #5
0
            public void Parse(DataSection node, VoidPtr address)
            {
                Offsets *addr = (Offsets *)address;

                for (int i = 0; i < 5; i++)
                {
                    node._extraEntries.Add(node.Parse <RawParamList>((int)addr->Entries[i]));
                }
                for (int i = 5; i < 10; i++)
                {
                    node._articles.Add((int)addr->Entries[i], node.Parse <ArticleNode>((int)addr->Entries[i]));
                }
            }
 protected override void HandleSpecialSections(List <TableEntryNode> sections)
 {
     foreach (TableEntryNode section in sections)
     {
         if (section is DataSection)
         {
             _data = (DataSection)section;
         }
         else if (section is DataCommonSection)
         {
             _dataCommon = (DataCommonSection)section;
         }
     }
 }