Beispiel #1
0
        protected override void OnParse(VoidPtr address)
        {
            sPatternPowerMul *hdr = (sPatternPowerMul *)address;

            _unk1  = hdr->_unk1;
            _unk2  = hdr->_unk2;
            _unk3  = hdr->_unk3;
            _unk4  = hdr->_unk4;
            _unk5  = hdr->_unk5;
            _unk6  = hdr->_unk6;
            _unk7  = hdr->_unk7;
            _unk8  = hdr->_unk8;
            _unk9  = hdr->_unk9;
            _unk10 = hdr->_unk10;

            Script  prev;
            VoidPtr addr = &hdr->_first;

            _scripts = new List <Script>();

            //Event parameters for events in this node are built elsewhere
            _scripts.Add(prev = Parse <Script>(addr));
            for (int i = 0; i < 3; i++)
            {
                addr += prev.Count * 8 + 8;
                _scripts.Add(prev = Parse <Script>(addr));
            }
        }
Beispiel #2
0
        protected override void OnWrite(VoidPtr address)
        {
            VoidPtr addr = address;

            RebuildAddress = addr;
            sPatternPowerMul *header = (sPatternPowerMul *)addr;

            header->_unk1  = _unk1;
            header->_unk2  = _unk2;
            header->_unk3  = _unk3;
            header->_unk4  = _unk4;
            header->_unk5  = _unk5;
            header->_unk6  = _unk6;
            header->_unk7  = _unk7;
            header->_unk8  = _unk8;
            header->_unk9  = _unk9;
            header->_unk10 = _unk10;
            foreach (Script p in _scripts)
            {
                p.Write(addr);
                Lookup(p.LookupAddresses);
                addr += p._calcSize;
            }
        }