@@ -47,16 +47,17 @@ public ChunkData GetOverworldChunkData(int x, int z)
47
47
for ( byte subChunkIdx = 0 ; subChunkIdx < 15 ; subChunkIdx ++ )
48
48
{
49
49
key [ 9 ] = subChunkIdx ;
50
-
51
- var data = db . Get ( key ) ;
50
+ UIntPtr length ;
51
+ var data = db . Get ( key , out length ) ;
52
52
if ( data != null )
53
53
{
54
54
var subChunkData = new SubChunkData ( )
55
55
{
56
56
Index = subChunkIdx ,
57
57
Data = data ,
58
+ DataLength = ( int ) length ,
58
59
Key = key ,
59
- Crc32 = Force . Crc32 . Crc32CAlgorithm . Compute ( data )
60
+ Crc32 = Force . Crc32 . Crc32CAlgorithm . Compute ( data , 0 , ( int ) length )
60
61
} ;
61
62
ret . SubChunks . Add ( subChunkData ) ;
62
63
}
@@ -100,8 +101,8 @@ public Chunk GetChunk(int x, int z)
100
101
for ( byte subChunkIdx = 0 ; subChunkIdx < 15 ; subChunkIdx ++ )
101
102
{
102
103
key [ 9 ] = subChunkIdx ;
103
-
104
- var data = db . Get ( key ) ;
104
+ UIntPtr length ;
105
+ var data = db . Get ( key , out length ) ;
105
106
if ( data != null )
106
107
{
107
108
subChunks [ subChunkIdx ] = data ;
@@ -461,16 +462,17 @@ public ChunkData GetChunkData(GroupedChunkSubKeys groupedChunkSubKeys)
461
462
foreach ( var kvp in groupedChunkSubKeys . Subchunks )
462
463
{
463
464
var key = kvp . Value ;
464
-
465
- var data = db . Get ( key . Key ) ;
465
+ UIntPtr length ;
466
+ var data = db . Get ( key . Key , out length ) ;
466
467
if ( data != null )
467
468
{
468
469
var subChunkData = new SubChunkData ( )
469
470
{
470
471
Index = kvp . Key ,
471
472
Data = data ,
473
+ DataLength = ( int ) length ,
472
474
Key = kvp . Value . Key ,
473
- Crc32 = Force . Crc32 . Crc32CAlgorithm . Compute ( data ) ,
475
+ Crc32 = Force . Crc32 . Crc32CAlgorithm . Compute ( data , 0 , ( int ) length ) ,
474
476
} ;
475
477
ret . SubChunks . Add ( subChunkData ) ;
476
478
}
@@ -499,16 +501,17 @@ public ChunkData GetChunkData(IGrouping<ulong, LevelDbWorldKey2> groupedChunkSub
499
501
foreach ( var kvp in groupedChunkSubKeys )
500
502
{
501
503
var key = kvp ;
502
-
503
- var data = db . Get ( key . Key ) ;
504
+ UIntPtr length ;
505
+ var data = db . Get ( key . Key , out length ) ;
504
506
if ( data != null )
505
507
{
506
508
var subChunkData = new SubChunkData ( )
507
509
{
508
510
Index = key . SubChunkId ,
509
511
Data = data ,
512
+ DataLength = ( int ) length ,
510
513
Key = key . Key ,
511
- // Crc32 = Force.Crc32.Crc32CAlgorithm.Compute(data),
514
+ // Crc32 = Force.Crc32.Crc32CAlgorithm.Compute(data, 0, (int)length ),
512
515
} ;
513
516
ret . SubChunks . Add ( subChunkData ) ;
514
517
}
@@ -534,15 +537,17 @@ public ChunkData GetChunkData(int x, int z)
534
537
var key = CreateKey ( x , z ) ;
535
538
key [ 9 ] = ( byte ) kvp ;
536
539
537
- var data = db . Get ( key ) ;
540
+ UIntPtr length ;
541
+ var data = db . Get ( key , out length ) ;
538
542
if ( data != null )
539
543
{
540
544
var subChunkData = new SubChunkData ( )
541
545
{
542
546
Index = ( byte ) kvp ,
543
547
Data = data ,
548
+ DataLength = ( int ) length ,
544
549
Key = key ,
545
- Crc32 = Force . Crc32 . Crc32CAlgorithm . Compute ( data ) ,
550
+ Crc32 = Force . Crc32 . Crc32CAlgorithm . Compute ( data , 0 , ( int ) length ) ,
546
551
} ;
547
552
ret . SubChunks . Add ( subChunkData ) ;
548
553
}
0 commit comments