Пример #1
0
        public static int?GetNumRngUsages(ObjectDataModel obj)
        {
            if (obj == null)
            {
                return(null);
            }
            int?objIndex = ObjectUtilities.GetObjectIndex(obj.Address);

            if (!objIndex.HasValue)
            {
                return(null);
            }
            uint memoryOffset = (uint)objIndex.Value * 4;

            return(Config.Stream.GetInt(0x803678A0 + memoryOffset));
        }
Пример #2
0
        public static void Move_Memory(
            uint objAddressToMove,
            bool rightwards,
            List <List <uint> > processGroups,
            Dictionary <uint, ObjectSnapshot> objectSnapshots,
            List <uint> newSelectedAddresses)
        {
            uint objAddress1 = objAddressToMove;
            int  objIndex1   = ObjectUtilities.GetObjectIndex(objAddress1).Value;

            if ((objIndex1 == 0 && !rightwards) || (objIndex1 == ObjectSlotsConfig.MaxSlots - 1 && rightwards))
            {
                newSelectedAddresses.Add(objAddress1);
                return;
            }
            int  objIndex2   = objIndex1 + (rightwards ? +1 : -1);
            uint objAddress2 = ObjectUtilities.GetObjectAddress(objIndex2);

            SwapAddresses(objAddress1, objAddress2, processGroups);
            SwapObjects(objAddress1, objAddress2, objectSnapshots);
            newSelectedAddresses.Add(objAddress2);
        }