IL2CPP_Resolver icon indicating copy to clipboard operation
IL2CPP_Resolver copied to clipboard

Dictionary class?)

Open fork1488 opened this issue 3 years ago • 4 comments

image

`template<typename T, typename N>
	struct il2cppDictionary : il2cppObject
	{
        void* buckets;
        void* entries;
        int32_t count;
        int32_t version;
        int32_t freeList;
        int32_t freeCount;
        void* comparer;
        void* keys;
        void* values;
        int32_t _syncRoot;
	};`
sorry not full, go sleeping

fork1488 avatar Jan 09 '22 21:01 fork1488

currently we are working on it

eeacks avatar Jan 10 '22 23:01 eeacks

currently we are working on it

image C# HashSet

`

  <Element Offset="40" Vartype="Pointer" Bytesize="8" OffsetHex="00000028" Description="entities" DisplayMethod="Unsigned Integer">
    <Structure Name="Autocreated from 1C9CCA13FA0" AutoFill="0" AutoCreate="1" DefaultHex="0" AutoDestroy="0" DoNotSaveLocal="0" RLECompression="1" AutoCreateStructsize="4096">
      <Elements>
        <Element Offset="16" Vartype="Pointer" Bytesize="8" OffsetHex="00000010" Description="_buckets" DisplayMethod="Unsigned Integer"/>
        <Element Offset="24" Vartype="Pointer" Bytesize="8" OffsetHex="00000018" Description="_slots" DisplayMethod="Unsigned Integer"/>
        <Element Offset="32" Vartype="4 Bytes" Bytesize="4" OffsetHex="00000020" Description="_count" DisplayMethod="Unsigned Integer"/>
        <Element Offset="36" Vartype="4 Bytes" Bytesize="4" OffsetHex="00000024" Description="_lastIndex" DisplayMethod="Unsigned Integer"/>
        <Element Offset="40" Vartype="4 Bytes" Bytesize="4" OffsetHex="00000028" Description="_freeList" DisplayMethod="Unsigned Integer"/>
        <Element Offset="48" Vartype="Pointer" Bytesize="8" OffsetHex="00000030" Description="_comparer" DisplayMethod="Unsigned Integer"/>
        <Element Offset="56" Vartype="4 Bytes" Bytesize="4" OffsetHex="00000038" Description="_version" DisplayMethod="Unsigned Integer"/>
        <Element Offset="64" Vartype="Pointer" Bytesize="8" OffsetHex="00000040" Description="_siInfo" DisplayMethod="Unsigned Integer"/>
      </Elements>
    </Structure>
  </Element>
</Elements>

`

fork1488 avatar Jan 11 '22 14:01 fork1488

template <typename T>
struct Il2CppArray
{
    void* klass;
    void* monitor;
    void* bounds;
    int   max_length;
    void* vector [1];
    int getLength()
    {
        return max_length;
    }
    T getPointer()
    {
        return (T)vector;
    }
};

template<typename K, typename V> 
struct Il2CppDictionary {
    void* klass;
    void *unk1;
    Il2CppArray<int **> *table;
    Il2CppArray<void **> *linkSlots;
    Il2CppArray<K> *keys;
    Il2CppArray<V> *values;
    int touchedSlots;
    int emptySlot;
    int size;

    K *getKeys() {

Rename everything and put it here as yours without giving credit to whoever wrote it, very bad behavior.

This struct written by caoyin, this link to the original file.

S3eeD2 avatar Jun 15 '22 14:06 S3eeD2

```c++
template <typename T>
struct Il2CppArray
{
    void* klass;
    void* monitor;
    void* bounds;
    int   max_length;
    void* vector [1];
    int getLength()
    {
        return max_length;
    }
    T getPointer()
    {
        return (T)vector;
    }
};

template<typename K, typename V> 
struct Il2CppDictionary {
    void* klass;
    void *unk1;
    Il2CppArray<int **> *table;
    Il2CppArray<void **> *linkSlots;
    Il2CppArray<K> *keys;
    Il2CppArray<V> *values;
    int touchedSlots;
    int emptySlot;
    int size;

    K *getKeys() {

Rename everything and put it here as yours without giving credit to whoever wrote it, very bad behavior. This struct written by caoyin, this link to the original file.

that wasn't made by me here's my own: https://github.com/Rednick16/IL2Cpp-Dictionary

Rednick16 avatar Aug 09 '22 01:08 Rednick16

its been 1 year,thank you all, added to pr, close later

eeacks avatar Jan 17 '23 08:01 eeacks

Added in latest commit: 3967263271f5616b4ba97bf9d01e594cf7112194

sneakyevil avatar Jan 17 '23 10:01 sneakyevil