Пример #1
0
        public StringList(MemoryManager reader, int id)
        {
            this.mem = reader;
            data = new Dictionary<string, string>();

            SNOReader sno = new SNOReader(mem, 0x0158C240);
            int address = sno.GetAddressFromID(id);
            int count = mem.ReadInt(address + 0xC);
            address += 0x28;

            for (int i = 0; i < count; i++)
            {
                string NLS = mem.ReadString(mem.ReadInt(address), 50).TrimEnd((char)0);
                string Real = mem.ReadString(mem.ReadInt(address + 0x10), 32).TrimEnd((char)0);
                data.Add(NLS, Real);
                address += 0x50;
            }
        }
Пример #2
0
        public StringList(MemoryManager reader, int id)
        {
            this.mem = reader;
            data     = new Dictionary <string, string>();

            SNOReader sno     = new SNOReader(mem, 0x0158C240);
            int       address = sno.GetAddressFromID(id);
            int       count   = mem.ReadInt(address + 0xC);

            address += 0x28;

            for (int i = 0; i < count; i++)
            {
                string NLS  = mem.ReadString(mem.ReadInt(address), 50).TrimEnd((char)0);
                string Real = mem.ReadString(mem.ReadInt(address + 0x10), 32).TrimEnd((char)0);
                data.Add(NLS, Real);
                address += 0x50;
            }
        }
Пример #3
0
        public SNOReader(MemoryManager reader, int address)
        {
            data = new Dictionary<int, int>();

            int ptr = reader.ReadInt(address, defptr);
            int count = reader.ReadInt(ptr + defcount);
            int curOff = reader.ReadInt(ptr + deflink) + 0xC;

            for (int i = 0; i <= 4096; i++)
            {
                int curSNOoff = reader.ReadInt(curOff);
                int curSNOid = reader.ReadInt(curSNOoff);

                if (curSNOoff == 0 && curSNOid == 0)
                    break;

                data.Add(curSNOid, curSNOoff);

                curOff += 0x10;
            }
        }
Пример #4
0
        public SNOReader(MemoryManager reader, int address)
        {
            data = new Dictionary <int, int>();

            int ptr    = reader.ReadInt(address, defptr);
            int count  = reader.ReadInt(ptr + defcount);
            int curOff = reader.ReadInt(ptr + deflink) + 0xC;

            for (int i = 0; i <= 4096; i++)
            {
                int curSNOoff = reader.ReadInt(curOff);
                int curSNOid  = reader.ReadInt(curSNOoff);

                if (curSNOoff == 0 && curSNOid == 0)
                {
                    break;
                }

                data.Add(curSNOid, curSNOoff);

                curOff += 0x10;
            }
        }
Пример #5
0
        public ACDActor Player()
        {
            int index = memory.ReadInt(ObjectManager, 0x94C, 0);

            return(new ACDActor(GetActorFromID(memory.ReadInt(ObjectManager, 0x83c, 0x60 + index * 0x8590))));
        }
Пример #6
0
 public ACDActor Player()
 {
     return(new ACDActor(GetActorFromID(memory.ReadInt(ObjectManager, 0x824, 0x60))));
 }