protected override void SubtypeRead(DSBinaryReader bin)
        {
            //SUx00 = bin.ReadInt32();
            SUB_CONST_1 = bin.ReadInt32();
            if (bin.LongOffsets)
            {
                bin.Jump(4);
            }
            i_AttachObj = bin.ReadInt32();
            if (bin.LongOffsets)
            {
                bin.Jump(4);
            }
            ItemLot1    = bin.ReadInt32();
            SUB_CONST_2 = bin.ReadInt32();
            ItemLot2    = bin.ReadInt32();
            SUB_CONST_3 = bin.ReadInt32();
            ItemLot3    = bin.ReadInt32();
            SUB_CONST_4 = bin.ReadInt32();
            ItemLot4    = bin.ReadInt32();
            SUB_CONST_5 = bin.ReadInt32();
            ItemLot5    = bin.ReadInt32();
            SUB_CONST_6 = bin.ReadInt32();

            if (!bin.IsDeS)
            {
                InChest       = bin.ReadBoolean();
                StartDisabled = bin.ReadBoolean();
                SUB_CONST_7   = bin.ReadByte();
                SUB_CONST_8   = bin.ReadByte();
            }
        }
Пример #2
0
        protected override void SubtypeRead(DSBinaryReader bin)
        {
            HitFilterID        = bin.ReadByte();
            SoundSpaceType     = (PartsCollisionSoundSpaceType)bin.ReadByte();
            i_EnvLightMapSpot  = bin.ReadInt16();
            ReflectPlaneHeight = bin.ReadSingle();

            NvmGroup1 = bin.ReadInt32();
            NvmGroup2 = bin.ReadInt32();
            NvmGroup3 = bin.ReadInt32();
            NvmGroup4 = bin.ReadInt32();

            VagrantID1 = bin.ReadInt32();
            VagrantID2 = bin.ReadInt32();
            VagrantID3 = bin.ReadInt32();

            MapNameID        = bin.ReadInt16();
            DisableStart     = bin.ReadInt16();
            DisableBonfireID = bin.ReadInt32();

            SUB_CONST_1 = bin.ReadInt32();
            SUB_CONST_2 = bin.ReadInt32();
            SUB_CONST_3 = bin.ReadInt32();

            PlayRegionID = bin.ReadInt32();
            LockCamID1   = bin.ReadInt16();
            LockCamID2   = bin.ReadInt16();

            SUB_CONST_4 = bin.ReadInt32();
            SUB_CONST_5 = bin.ReadInt32();
            SUB_CONST_6 = bin.ReadInt32();
            SUB_CONST_7 = bin.ReadInt32();
        }
Пример #3
0
        private string ReadUnicodeString(DSBinaryReader bin)
        {
            StringBuilder sb = new StringBuilder();

            byte[] next      = { 0, 0 };
            bool   endString = false;

            do
            {
                if (bin.BigEndian)
                {
                    next[1] = bin.ReadByte();
                    next[0] = bin.ReadByte();
                }
                else
                {
                    next[0] = bin.ReadByte();
                    next[1] = bin.ReadByte();
                }
                endString = (next[0] == 0 && next[1] == 0);

                if (!endString)
                {
                    sb.Append(Encoding.Unicode.GetString(next));
                }
            }while (!endString);
            return(sb.ToString());
        }
Пример #4
0
        public static FlverDummy Read(DSBinaryReader bin, DataFiles.FLVER ContainingFlver)
        {
            var dmy = new FlverDummy(ContainingFlver);

            dmy.Position      = bin.ReadVector3();
            dmy.UnknownByte1  = bin.ReadByte();
            dmy.UnknownByte2  = bin.ReadByte();
            dmy.UnknownShort1 = bin.ReadInt16();

            dmy.Row2            = bin.ReadVector3();
            dmy.TypeID          = bin.ReadInt16();
            dmy.ParentBoneIndex = bin.ReadInt16();

            dmy.Row3 = bin.ReadVector3();
            dmy.SomeSortOfParentIndex = bin.ReadInt16();
            dmy.UnknownFlag1          = bin.ReadBoolean();
            dmy.UnknownFlag2          = bin.ReadBoolean();

            //hit.Row4 = bin.ReadVector3();
            //hit.Row4_ID1 = bin.ReadInt16();
            //hit.Row4_ID2 = bin.ReadInt16();

            bin.ReadBytes(16);

            return(dmy);
        }
Пример #5
0
        protected override void SubtypeRead(DSBinaryReader bin)
        {
            UNK1 = bin.ReadByte();
            UNK2 = bin.ReadByte();
            UNK3 = bin.ReadByte();
            UNK4 = bin.ReadByte();

            UNK5 = bin.ReadInt16();
            UNK6 = bin.ReadInt16();

            UNK7 = bin.ReadInt32();
            UNK8 = bin.ReadInt32();
        }
Пример #6
0
        protected override void SubtypeRead(DSBinaryReader bin)
        {
            SUB_CONST_1 = bin.ReadInt32();
            i_PartName  = bin.ReadInt32();

            SubUnk1     = bin.ReadByte();
            SubUnk2     = bin.ReadByte();
            SUB_CONST_2 = bin.ReadByte();
            SUB_CONST_3 = bin.ReadByte();

            SubUnk3 = bin.ReadInt16();
            SubUnk4 = bin.ReadInt16();

            SubUnk5     = bin.ReadInt32();
            SUB_CONST_4 = bin.ReadInt32();
        }
Пример #7
0
 protected override void SubtypeRead(DSBinaryReader bin)
 {
     MsgID            = bin.ReadInt16();
     SUB_CONST_1      = bin.ReadInt16();
     SeekGuidanceOnly = bin.ReadBoolean();
     SUB_CONST_2      = bin.ReadByte();
     SUB_CONST_3      = bin.ReadInt16();
 }
Пример #8
0
 protected override void SubtypeRead(DSBinaryReader bin)
 {
     //SUx00 = bin.ReadInt32();
     SUB_CONST_1   = bin.ReadInt32();
     i_AttachObj   = bin.ReadInt32();
     ItemLot1      = bin.ReadInt32();
     SUB_CONST_2   = bin.ReadInt32();
     ItemLot2      = bin.ReadInt32();
     SUB_CONST_3   = bin.ReadInt32();
     ItemLot3      = bin.ReadInt32();
     SUB_CONST_4   = bin.ReadInt32();
     ItemLot4      = bin.ReadInt32();
     SUB_CONST_5   = bin.ReadInt32();
     ItemLot5      = bin.ReadInt32();
     SUB_CONST_6   = bin.ReadInt32();
     InChest       = bin.ReadBoolean();
     StartDisabled = bin.ReadBoolean();
     SUB_CONST_7   = bin.ReadByte();
     SUB_CONST_8   = bin.ReadByte();
 }
Пример #9
0
        protected override void SubtypeRead(DSBinaryReader bin)
        {
            SUB_CONST_1 = bin.ReadInt32();
            SUB_CONST_2 = bin.ReadInt32();

            if (bin.IsDeS)
            {
                NpcSubUnk0 = bin.ReadSingle();
            }
            else
            {
                ThinkParamID = bin.ReadInt32();
            }

            NPCParamID = bin.ReadInt32();
            TalkID     = bin.ReadInt32();

            PointMoveType = bin.ReadByte();
            SUB_CONST_3   = bin.ReadByte();
            PlatoonID     = bin.ReadUInt16();

            CharaInitID = bin.ReadInt32();
            i_HitName   = bin.ReadInt32();

            SUB_CONST_4 = bin.ReadInt32();
            SUB_CONST_5 = bin.ReadInt32();

            SolvedMovePointIndex1 = bin.ReadInt16();
            SolvedMovePointIndex2 = bin.ReadInt16();
            SolvedMovePointIndex3 = bin.ReadInt16();
            SolvedMovePointIndex4 = bin.ReadInt16();
            SolvedMovePointIndex5 = bin.ReadInt16();
            SolvedMovePointIndex6 = bin.ReadInt16();
            SolvedMovePointIndex7 = bin.ReadInt16();
            SolvedMovePointIndex8 = bin.ReadInt16();

            SpStayAnimID       = bin.ReadInt32();
            SpStayDamageAnimID = bin.ReadInt32();
        }
Пример #10
0
        protected override void SubtypeRead(DSBinaryReader bin)
        {
            SUB_CONST_1 = bin.ReadInt32();
            SUB_CONST_2 = bin.ReadInt32();

            ThinkParamID = bin.ReadInt32();
            NPCParamID   = bin.ReadInt32();
            TalkID       = bin.ReadInt32();

            SubUnk1     = bin.ReadByte();
            SUB_CONST_3 = bin.ReadByte();
            SubUnk2     = bin.ReadByte();
            SubUnk3     = bin.ReadByte();

            CharaInitID = bin.ReadInt32();
            i_HitName   = bin.ReadInt32();

            SUB_CONST_4 = bin.ReadInt32();
            SUB_CONST_5 = bin.ReadInt32();

            SolvedMovePointIndex1 = bin.ReadInt16();
            SolvedMovePointIndex2 = bin.ReadInt16();
            SolvedMovePointIndex3 = bin.ReadInt16();
            SolvedMovePointIndex4 = bin.ReadInt16();

            SubUnk4  = bin.ReadSByte();
            SubUnk5  = bin.ReadSByte();
            SubUnk6  = bin.ReadSByte();
            SubUnk7  = bin.ReadSByte();
            SubUnk8  = bin.ReadSByte();
            SubUnk9  = bin.ReadSByte();
            SubUnk10 = bin.ReadSByte();
            SubUnk11 = bin.ReadSByte();

            InitAnimID = bin.ReadInt32();

            m17_Butterfly_Anim_Unk = bin.ReadInt32();
        }
Пример #11
0
        protected override void SubtypeRead(DSBinaryReader bin)
        {
            UNK1 = bin.ReadByte();
            UNK2 = bin.ReadByte();
            UNK3 = bin.ReadByte();
            UNK4 = bin.ReadByte();

            UNK5 = bin.ReadSingle();

            UNK6 = bin.ReadInt32();
            UNK7 = bin.ReadInt32();

            VagrantEntityID1 = bin.ReadInt32();
            VagrantEntityID2 = bin.ReadInt32();
            VagrantEntityID3 = bin.ReadInt32();

            UNK8 = bin.ReadInt16();
            UNK9 = bin.ReadInt16();

            BonfireObjectEntityID = bin.ReadInt32();

            UNK10 = bin.ReadInt32();
            UNK11 = bin.ReadInt32();
            UNK12 = bin.ReadInt32();

            MultiplayerID = bin.ReadInt32();

            UNK13 = bin.ReadInt16();
            UNK14 = bin.ReadInt16();

            UNK15 = bin.ReadInt32();
            UNK16 = bin.ReadInt32();
            UNK17 = bin.ReadInt32();
            UNK18 = bin.ReadInt32();

            UNK19 = bin.ReadInt32();
            UNK20 = bin.ReadInt32();
        }
Пример #12
0
        private void SubtypeReadDeS(DSBinaryReader bin)
        {
            HitFilterID        = bin.ReadByte();
            SoundSpaceType     = (PartsCollisionSoundSpaceType)bin.ReadByte();
            i_EnvLightMapSpot  = bin.ReadInt16();
            ReflectPlaneHeight = bin.ReadSingle();

            NavimeshGroup1 = bin.ReadInt32();
            NavimeshGroup2 = bin.ReadInt32();
            NavimeshGroup3 = bin.ReadInt32();
            NavimeshGroup4 = bin.ReadInt32();

            RefTexID1  = bin.ReadInt16();
            RefTexID2  = bin.ReadInt16();
            RefTexID3  = bin.ReadInt16();
            RefTexID4  = bin.ReadInt16();
            RefTexID5  = bin.ReadInt16();
            RefTexID6  = bin.ReadInt16();
            RefTexID7  = bin.ReadInt16();
            RefTexID8  = bin.ReadInt16();
            RefTexID9  = bin.ReadInt16();
            RefTexID10 = bin.ReadInt16();
            RefTexID11 = bin.ReadInt16();
            RefTexID12 = bin.ReadInt16();
            RefTexID13 = bin.ReadInt16();
            RefTexID14 = bin.ReadInt16();
            RefTexID15 = bin.ReadInt16();
            RefTexID16 = bin.ReadInt16();

            SUB_CONST_1 = bin.ReadInt16();
            MapNameID   = bin.ReadInt16();

            SUB_CONST_4 = bin.ReadInt32();
            SUB_CONST_5 = bin.ReadInt32();
            SUB_CONST_6 = bin.ReadInt32();
            SUB_CONST_7 = bin.ReadInt32();
        }
Пример #13
0
        protected override void SubtypeRead(DSBinaryReader bin)
        {
            SUB_CONST_1 = bin.ReadInt32();
            if (bin.LongOffsets)
            {
                bin.Jump(4);
            }

            if (!bin.IsDeS)
            {
                i_PartName = bin.ReadInt32();
            }

            BreakTerm   = bin.ReadSByte();
            NetSyncType = bin.ReadSByte();
            SUB_CONST_2 = bin.ReadByte();
            SUB_CONST_3 = bin.ReadByte();

            InitAnimID = bin.ReadInt16();
            SubUnk4    = bin.ReadInt16();

            SubUnk5     = bin.ReadInt32();
            SUB_CONST_4 = bin.ReadInt32();
        }
Пример #14
0
        protected override void SubtypeRead(DSBinaryReader bin)
        {
            if (bin.IsDeS)
            {
                PlayerSubUnk = bin.ReadByte();
                bin.Jump(3);
            }
            else
            {
                SUB_CONST_1 = bin.ReadInt32();
            }

            SUB_CONST_2 = bin.ReadInt32();
            SUB_CONST_3 = bin.ReadInt32();
            SUB_CONST_4 = bin.ReadInt32();
        }
        protected override void SubtypeRead(DSBinaryReader bin)
        {
            MaxNum          = bin.ReadByte();
            GenType         = bin.ReadByte();
            LimitNum        = bin.ReadInt16();
            MinGenNum       = bin.ReadInt16();
            MaxGenNum       = bin.ReadInt16();
            MinInterval     = bin.ReadSingle();
            MaxInterval     = bin.ReadSingle();
            InitialSpawnNum = bin.ReadInt32();
            SUB_CONST_1     = bin.ReadInt32();
            SUB_CONST_2     = bin.ReadInt32();
            SUB_CONST_3     = bin.ReadInt32();
            SUB_CONST_4     = bin.ReadInt32();
            SUB_CONST_5     = bin.ReadInt32();
            SUB_CONST_6     = bin.ReadInt32();
            SUB_CONST_7     = bin.ReadInt32();

            InternalSpawnPoint1 = bin.ReadInt32();
            InternalSpawnPoint2 = bin.ReadInt32();
            InternalSpawnPoint3 = bin.ReadInt32();
            InternalSpawnPoint4 = bin.ReadInt32();
            InternalSpawnPart1  = bin.ReadInt32();
            InternalSpawnPart2  = bin.ReadInt32();
            InternalSpawnPart3  = bin.ReadInt32();
            InternalSpawnPart4  = bin.ReadInt32();
            InternalSpawnPart5  = bin.ReadInt32();
            InternalSpawnPart6  = bin.ReadInt32();
            InternalSpawnPart7  = bin.ReadInt32();
            InternalSpawnPart8  = bin.ReadInt32();
            InternalSpawnPart9  = bin.ReadInt32();
            InternalSpawnPart10 = bin.ReadInt32();
            InternalSpawnPart11 = bin.ReadInt32();
            InternalSpawnPart12 = bin.ReadInt32();
            InternalSpawnPart13 = bin.ReadInt32();
            InternalSpawnPart14 = bin.ReadInt32();
            InternalSpawnPart15 = bin.ReadInt32();
            InternalSpawnPart16 = bin.ReadInt32();
            InternalSpawnPart17 = bin.ReadInt32();
            InternalSpawnPart18 = bin.ReadInt32();
            InternalSpawnPart19 = bin.ReadInt32();
            InternalSpawnPart20 = bin.ReadInt32();
            InternalSpawnPart21 = bin.ReadInt32();
            InternalSpawnPart22 = bin.ReadInt32();
            InternalSpawnPart23 = bin.ReadInt32();
            InternalSpawnPart24 = bin.ReadInt32();
            InternalSpawnPart25 = bin.ReadInt32();
            InternalSpawnPart26 = bin.ReadInt32();
            InternalSpawnPart27 = bin.ReadInt32();
            InternalSpawnPart28 = bin.ReadInt32();
            InternalSpawnPart29 = bin.ReadInt32();
            InternalSpawnPart30 = bin.ReadInt32();
            InternalSpawnPart31 = bin.ReadInt32();
            InternalSpawnPart32 = bin.ReadInt32();

            SUB_CONST_8  = bin.ReadInt32();
            SUB_CONST_9  = bin.ReadInt32();
            SUB_CONST_10 = bin.ReadInt32();
            SUB_CONST_11 = bin.ReadInt32();
            SUB_CONST_12 = bin.ReadInt32();
            SUB_CONST_13 = bin.ReadInt32();
            SUB_CONST_14 = bin.ReadInt32();
            SUB_CONST_15 = bin.ReadInt32();
            SUB_CONST_16 = bin.ReadInt32();
            SUB_CONST_17 = bin.ReadInt32();
            SUB_CONST_18 = bin.ReadInt32();
            SUB_CONST_19 = bin.ReadInt32();
            SUB_CONST_20 = bin.ReadInt32();
            SUB_CONST_21 = bin.ReadInt32();
            SUB_CONST_22 = bin.ReadInt32();
            SUB_CONST_23 = bin.ReadInt32();
        }
Пример #16
0
        protected override void InternalRead(DSBinaryReader bin)
        {
            Name = bin.ReadMsbString();

            bin.AssertInt32((int)Type);

            Index      = bin.ReadInt32();
            ModelIndex = bin.ReadInt32();

            PlaceholderModel = bin.ReadMsbString();

            PosX = bin.ReadSingle();
            PosY = bin.ReadSingle();
            PosZ = bin.ReadSingle();

            RotX = bin.ReadSingle();
            RotY = bin.ReadSingle();
            RotZ = bin.ReadSingle();

            ScaleX = bin.ReadSingle();
            ScaleY = bin.ReadSingle();
            ScaleZ = bin.ReadSingle();

            DrawGroup1 = bin.ReadInt32();
            DrawGroup2 = bin.ReadInt32();
            DrawGroup3 = bin.ReadInt32();
            DrawGroup4 = bin.ReadInt32();

            DispGroup1 = bin.ReadInt32();
            DispGroup2 = bin.ReadInt32();
            DispGroup3 = bin.ReadInt32();
            DispGroup4 = bin.ReadInt32();

            int baseDataOffset    = bin.ReadInt32();
            int subtypeDataOffset = bin.ReadInt32();

            Ux60 = bin.ReadInt32();

            bin.StepInMSB(baseDataOffset);
            {
                EventEntityID = bin.ReadInt32();

                LightID   = bin.ReadByte();
                FogID     = bin.ReadByte();
                ScatterID = bin.ReadByte();

                BUx07 = bin.ReadByte();
                BUx08 = bin.ReadByte();
                BUx09 = bin.ReadByte();
                BUx0A = bin.ReadByte();
                BUx0B = bin.ReadByte();

                BUx0C = bin.ReadInt16();
                BUx0E = bin.ReadInt16();
                BUx10 = bin.ReadInt16();
                BUx12 = bin.ReadInt16();

                BUx14 = bin.ReadInt32();
                //BUx18 = bin.ReadInt32();
            }
            bin.StepOut();

            bin.StepInMSB(subtypeDataOffset);
            {
                SubtypeRead(bin);
            }
            bin.StepOut();
        }
Пример #17
0
        protected override void SubtypeRead(DSBinaryReader bin)
        {
            SubUnk1     = bin.ReadByte();
            SUB_CONST_1 = bin.ReadByte();
            SUB_CONST_2 = bin.ReadByte();
            SUB_CONST_3 = bin.ReadByte();

            sbyte mapId1 = bin.ReadSByte();
            sbyte mapId2 = bin.ReadSByte();
            sbyte mapId3 = bin.ReadSByte();
            sbyte mapId4 = bin.ReadSByte();

            string mapNamePart1, mapNamePart2, mapNamePart3, mapNamePart4;

            if (mapId1 == -1)
            {
                mapNamePart1 = "XX";
            }
            else if (mapId1 <= 99)
            {
                mapNamePart1 = $"{mapId1:D2}";
            }
            else
            {
                mapNamePart1 = "??";
            }

            if (mapId2 == -1)
            {
                mapNamePart2 = "XX";
            }
            else if (mapId2 <= 99)
            {
                mapNamePart2 = $"{mapId2:D2}";
            }
            else
            {
                mapNamePart2 = "??";
            }

            if (mapId3 == -1)
            {
                mapNamePart3 = "XX";
            }
            else if (mapId3 <= 99)
            {
                mapNamePart3 = $"{mapId3:D2}";
            }
            else
            {
                mapNamePart3 = "??";
            }

            if (mapId4 == -1)
            {
                mapNamePart4 = "XX";
            }
            else if (mapId4 <= 99)
            {
                mapNamePart4 = $"{mapId4:D2}";
            }
            else
            {
                mapNamePart4 = "??";
            }

            MapName = $"m{mapNamePart1}_{mapNamePart2}_{mapNamePart3}_{mapNamePart4}";

            SUB_CONST_4 = bin.ReadInt32();
            SUB_CONST_5 = bin.ReadInt32();
        }
Пример #18
0
        protected override void InternalRead(DSBinaryReader bin)
        {
            Name = bin.ReadMsbString();

            bin.AssertInt32((int)Type);

            Index       = bin.ReadInt32();
            i_ModelName = bin.ReadInt32();

            PlaceholderModel = bin.ReadMsbString();

            PosX = bin.ReadSingle();
            PosY = bin.ReadSingle();
            PosZ = bin.ReadSingle();

            RotX = bin.ReadSingle();
            RotY = bin.ReadSingle();
            RotZ = bin.ReadSingle();

            ScaleX = bin.ReadSingle();
            ScaleY = bin.ReadSingle();
            ScaleZ = bin.ReadSingle();

            DrawGroup1 = bin.ReadInt32();
            DrawGroup2 = bin.ReadInt32();
            DrawGroup3 = bin.ReadInt32();
            DrawGroup4 = bin.ReadInt32();

            DispGroup1 = bin.ReadInt32();
            DispGroup2 = bin.ReadInt32();
            DispGroup3 = bin.ReadInt32();
            DispGroup4 = bin.ReadInt32();

            int baseDataOffset    = bin.ReadInt32();
            int subtypeDataOffset = bin.ReadInt32();

            BASE_CONST_1 = bin.ReadInt32();

            bin.StepInMSB(baseDataOffset);
            {
                EntityID                = bin.ReadInt32();
                LightID                 = bin.ReadSByte();
                FogID                   = bin.ReadSByte();
                ScatterID               = bin.ReadSByte();
                LensFlareID             = bin.ReadSByte();
                ShadowID                = bin.ReadSByte();
                DofID                   = bin.ReadSByte();
                ToneMapID               = bin.ReadSByte();
                ToneCorrectID           = bin.ReadSByte();
                LanternID               = bin.ReadSByte();
                LodParamID              = bin.ReadSByte();
                BASE_CONST_2            = bin.ReadByte();
                IsShadowSrc             = bin.ReadBoolean();
                IsShadowDest            = bin.ReadBoolean();
                IsShadowOnly            = bin.ReadBoolean();
                DrawByReflectCam        = bin.ReadBoolean();
                DrawOnlyReflectCam      = bin.ReadBoolean();
                IsUseDepthBiasFloat     = bin.ReadSByte();
                DisablePointLightEffect = bin.ReadSByte();

                BASE_CONST_3 = bin.ReadByte();
                BASE_CONST_4 = bin.ReadByte();
            }
            bin.StepOut();

            bin.StepInMSB(subtypeDataOffset);
            {
                SubtypeRead(bin);
            }
            bin.StepOut();
        }