Beispiel #1
0
        internal static int GetDependenciesSize(ExternalOffset dependency, List <ExternalOffset> offsets)
        {
            // If Empty Then It's Usually Dynamic Pointer (Like `Data` Member In `TArray`)
            List <ExternalOffset> dOffsets = offsets.Where(off => off.Dependency == dependency).ToList();

            if (!dOffsets.Any())
            {
                return(0);
            }

            // Get Biggest Offset
            int biggestOffset = dOffsets.Max(unrealOffset => unrealOffset.Offset);

            // Get Offset
            ExternalOffset offset = offsets.Find(off => off.Dependency == dependency && off.Offset == biggestOffset);

            // Get Size Of Data
            int valueSize = offset.OffsetType switch
            {
                OffsetType.String => ExternalMemorySharp.MaxStringLen,
                _ => offset.Size
            };

            return(biggestOffset + valueSize);
        }
Beispiel #2
0
        protected override void InitOffsets()
        {
            base.InitOffsets();

            _index  = new ExternalOffset <int>(ExternalOffset.None, 0x00);
            _number = new ExternalOffset <int>(ExternalOffset.None, 0x04);
        }
        protected override void InitOffsets()
        {
            base.InitOffsets();

            _stringPointer = new ExternalOffset <UIntPtr>(0x00);
            _stringData    = new ExternalOffset <string>(_stringPointer, 0x00);
        }
Beispiel #4
0
        protected override void InitOffsets()
        {
            base.InitOffsets();

            int curOff = 0x0;

            _data  = new ExternalOffset <UIntPtr>(ExternalOffset.None, curOff); curOff += Ems.Is64BitGame ? 0x8 : 0x4;
            _count = new ExternalOffset <int>(ExternalOffset.None, curOff); curOff += 0x4;
            _max   = new ExternalOffset <int>(ExternalOffset.None, curOff);
        }
Beispiel #5
0
        protected override void InitOffsets()
        {
            base.InitOffsets();

            _enumVal = new ExternalOffset <byte>(ExternalOffset.None, 0x00);
        }