Bonjour à tous!
Depuis quelque temps je cherche à faire les D2p.
Je me sers des sources EuuBot et j'ai presque trouvé.
Mon problème est la class "Map" l'hors de l'InitializeReader.
Donc si une personne ayant déjà fait les d2p pourrait m'aider, j'en serais ravi.
Voici la fonction:
Private Sub InitializeReader(ByVal CompressedMap As GeneralInformation.CompressedMap)
Dim fs As System.IO.Stream = System.IO.File.Open(CompressedMap.file, System.IO.FileMode.Open, System.IO.FileAccess.Read, System.IO.FileShare.Read)
Dim br As System.IO.BinaryReader = New System.IO.BinaryReader(fs)
br.BaseStream.Position = CompressedMap.Offset
Dim flux As Byte() = br.ReadBytes(CInt(CompressedMap.ByteCount))
Dim data As Byte() = New Byte(flux.Length - 2) {}
Array.Copy(flux, 2, data, 0, flux.Length - 2)
Dim hash As System.Security.Cryptography.MD5 = System.Security.Cryptography.MD5.Create()
Dim md5hash As Byte() = hash.ComputeHash(data)
Dim sb_hashcode As StringBuilder = New StringBuilder()
For i As Integer = 0 To md5hash.Length - 1
sb_hashcode.Append(md5hash(i).ToString("X2"))
Next
_hashCode = sb_hashcode.ToString()
Dim ms As System.IO.MemoryStream = New System.IO.MemoryStream(data)
Dim ds As System.IO.Compression.DeflateStream = New System.IO.Compression.DeflateStream(ms, System.IO.Compression.CompressionMode.Decompress)
_reader = New D2pReader(ds)
Dim deflated As Byte() = _reader.ReadBytes(CInt(ds.Length))
_reader = New D2pReader(New System.IO.MemoryStream(deflated))
fs.Close()
End Sub
Cordialement,