Example #1
0
        public Entry1D(ref byte *ptr, bool olt = false)
        {
            Comp_id = MapDataHelper.LoadUint(ref ptr);
            Addr    = MapDataHelper.LoadUint(ref ptr);
            if (!olt)
            {
                Addr ^= MapDataHelper.XorKey;
                unk1  = MapDataHelper.LoadBytes(ref ptr, 8);
            }
            else
            {
                unk1 = MapDataHelper.LoadBytes(ref ptr, 4);
            }

            Units      = MapDataHelper.LoadString(ref ptr, 16);
            Lower_lim  = MapDataHelper.LoadDouble(ref ptr);
            Upper_lim  = MapDataHelper.LoadDouble(ref ptr);
            Const_type = *(ptr++);
            Precision  = *(ptr++);
            Convert    = new ConvertInfo(ref ptr);

            if (olt)
            {
                return;
            }
            Cs = MapDataHelper.LoadUshort(ref ptr);
        }
Example #2
0
        public IdentEntry(ref byte *ptr, bool olt = false)
        {
            Comp_id = MapDataHelper.LoadUint(ref ptr);
            Name    = MapDataHelper.LoadString(ref ptr);
            Addr    = new uint[8];
            for (var i = 0; i < Addr.Length; i++)
            {
                Addr[i] = MapDataHelper.LoadUint(ref ptr);
            }

            if (!olt)
            {
                Addr[0] ^= MapDataHelper.XorKey;
                unk1     = MapDataHelper.LoadBytes(ref ptr, 8);
            }
            else
            {
                unk1 = MapDataHelper.LoadBytes(ref ptr, 4);
            }

            Length = MapDataHelper.LoadBytes(ref ptr, 8);

            ItemsName = new string[8];
            for (int i = 0; i < ItemsName.Length; i++)
            {
                ItemsName[i] = MapDataHelper.LoadString(ref ptr);
            }

            if (olt)
            {
                return;
            }
            unk2 = MapDataHelper.LoadBytes(ref ptr, 16);
            Cs   = MapDataHelper.LoadUshort(ref ptr);
        }
Example #3
0
        public Entry3D(ref byte *ptr, bool olt)
        {
            Comp_id = MapDataHelper.LoadUint(ref ptr);
            Addr    = MapDataHelper.LoadUint(ref ptr);
            if (!olt)
            {
                Addr ^= MapDataHelper.XorKey;
                unk1  = MapDataHelper.LoadBytes(ref ptr, 8);
            }
            else
            {
                unk1 = MapDataHelper.LoadBytes(ref ptr, 4);
            }

            xUnits = MapDataHelper.LoadString(ref ptr, 32);
            Units  = MapDataHelper.LoadString(ref ptr, 32);
            zUnits = MapDataHelper.LoadString(ref ptr, 32);
            xTable = MapDataHelper.LoadString(ref ptr, 255);
            zTable = MapDataHelper.LoadString(ref ptr, 255);

            xPoints   = MapDataHelper.LoadUshort(ref ptr);
            ShiftMask = MapDataHelper.LoadUshort(ref ptr);
            zPoints   = *(ptr++);

            xStart = MapDataHelper.LoadDouble(ref ptr);
            xEnd   = MapDataHelper.LoadDouble(ref ptr);

            unk2 = *(ptr++);             //FF

            Lower_lim = MapDataHelper.LoadDouble(ref ptr);
            Upper_lim = MapDataHelper.LoadDouble(ref ptr);

            unk3 = *(ptr++);             //FF

            zStart = MapDataHelper.LoadDouble(ref ptr);
            zEnd   = MapDataHelper.LoadDouble(ref ptr);

            unk4       = *(ptr++);       //FF
            Const_type = *(ptr++);
            unk5       = *(ptr++);       //00
            gbc_thrott = *(ptr++);

            unk6 = MapDataHelper.LoadBytes(ref ptr, 2);             //FF00

            Convert = new ConvertInfo(ref ptr);

            if (olt)
            {
                return;
            }
            Cs = MapDataHelper.LoadUshort(ref ptr);
        }
Example #4
0
        public FlagsEntry(ref byte *ptr, bool olt = false)
        {
            Comp_id = MapDataHelper.LoadUint(ref ptr);
            Addr    = new uint[8];
            for (var i = 0; i < Addr.Length; i++)
            {
                Addr[i] = MapDataHelper.LoadUint(ref ptr);
            }

            if (!olt)
            {
                Addr[0] ^= MapDataHelper.XorKey;
                unk1     = MapDataHelper.LoadBytes(ref ptr, 8);
            }
            else
            {
                unk1 = MapDataHelper.LoadBytes(ref ptr, 4);
            }

            ItemsName = new string[8];
            for (int i = 0; i < ItemsName.Length; i++)
            {
                ItemsName[i] = MapDataHelper.LoadString(ref ptr);
            }

            BitsName = new string[8, 8];
            for (int i = 0; i < BitsName.GetLength(0); i++)
            {
                for (int j = 0; j < BitsName.GetLength(1); j++)
                {
                    BitsName[i, j] = MapDataHelper.LoadString(ref ptr);
                }
            }

            if (olt)
            {
                return;
            }
            unk2 = MapDataHelper.LoadBytes(ref ptr, 16);
            Cs   = MapDataHelper.LoadUshort(ref ptr);
        }
Example #5
0
        public MapEntry(ref byte *ptr, bool olt = false)
        {
            Name    = MapDataHelper.LoadString(ref ptr);
            Level   = *(ptr++);
            Type    = *(ptr++);
            Length  = MapDataHelper.LoadUshort(ref ptr);
            Comp_id = MapDataHelper.LoadUint(ref ptr);
            ptr    -= 4;

            switch ((MapEntryType)Type)
            {
            case MapEntryType.Ident:
                IdentEntry = new IdentEntry(ref ptr, olt);
                break;

            case MapEntryType.Flags:
                FlagsEntry = new FlagsEntry(ref ptr, olt);
                break;

            case MapEntryType.Entry1D:
                Entry1D = new Entry1D(ref ptr, olt);
                break;

            case MapEntryType.Entry2D:
                Entry2D = new Entry2D(ref ptr, olt);
                break;

            case MapEntryType.Entry3D:
                Entry3D = new Entry3D(ref ptr, olt);
                break;

            default:
                Comp_id = 0;
                ptr    += Length;
                break;
            }
        }