Пример #1
0
        private void Write(BinaryWriterEx bhdWriter, BinaryWriterEx bdtWriter)
        {
            BHD.Write(bhdWriter, Files);

            for (int i = 0; i < Files.Count; i++)
            {
                File file = Files[i];
                bdtWriter.Pad(0x10);

                byte[] bytes = file.Bytes;
                if (file.Flags == 0x03 || file.Flags == 0xC0)
                {
                    bytes = DCX.Compress(bytes, DCX.Type.DarkSouls1);
                }

                if (BHD.Format == 0x3E)
                {
                    bhdWriter.FillUInt64($"FileOffset{i}", (ulong)bdtWriter.Position);
                }
                else
                {
                    bhdWriter.FillUInt32($"FileOffset{i}", (uint)bdtWriter.Position);
                }

                bhdWriter.FillInt64($"FileSize{i}", bytes.LongLength);
                bdtWriter.WriteBytes(bytes);
            }
        }
Пример #2
0
        public BHDmini(BHD _bhd, Dictionary <string, string> Sa1ToCsl)
        {
            NAME           = _bhd.NAME;
            TRAVELDATE     = _bhd.TRAVELDATE;
            AGENT          = _bhd.AGENT;
            STATUS         = _bhd.STATUS;
            CONSULTANT     = _bhd.CONSULTANT;
            UDTEXT1        = _bhd.UDTEXT1;
            UDTEXT2        = _bhd.UDTEXT2;
            UDTEXT3        = _bhd.UDTEXT3;
            UDTEXT4        = _bhd.UDTEXT4;
            UDTEXT5        = _bhd.UDTEXT5;
            SALE1          = Sa1ToCsl[_bhd.SALE1.Trim()];
            SALE2          = _bhd.SALE2;
            SALE3          = _bhd.SALE3;
            BOOKING_TYPE   = _bhd.BOOKING_TYPE;
            DATE_ENTERED   = _bhd.DATE_ENTERED;
            FULL_REFERENCE = _bhd.FULL_REFERENCE;
            SALE4          = _bhd.SALE4;
            SALE5          = _bhd.SALE5;
            SALE6          = _bhd.SALE6;
            BHD_ID         = _bhd.BHD_ID;

            SetPerformanceItems();
        }
        public static BookingMini ProjectToBookingMini(BHD bTP)
        {
            BookingMini bm = new BookingMini()
            {
            };

            bm.FullReference = bTP.FULL_REFERENCE.Trim();
            bm.Status        = bTP.STATUS.Trim();
            bm.Consultant    = bTP.CONSULTANT.Trim();
            bm.Date_Entered  = bTP.DATE_ENTERED;
            bm.Sales_Update  = bTP.UDTEXT5.Trim();
            bm.BHD_ID        = bTP.BHD_ID;

            return(bm);
        }
Пример #4
0
        private BDT(BinaryReaderEx bhdReader, BinaryReaderEx bdtReader)
        {
            BHD bhd = new BHD(bhdReader);

            flag = bhd.Flag;

            bdtReader.AssertASCII("BDF307D7R6\0\0");
            bdtReader.AssertInt32(0);

            Files = new List <File>();
            for (int i = 0; i < bhd.FileHeaders.Count; i++)
            {
                FileHeader fileHeader = bhd.FileHeaders[i];
                string     name       = fileHeader.Name;
                byte[]     data       = bdtReader.GetBytes(fileHeader.Offset, fileHeader.Size);

                File file = new File
                {
                    Name  = name,
                    Bytes = data
                };
                Files.Add(file);
            }
        }